版本分发中心:developer.android.com/about/dashb…
1. 指定 minSdkVersion 和 targetSdkVersion
minSdkVersion :应用兼容的最低 API 级别
targetSdkVersion :设计和测试应用所使用的最高 API 级别。
2. 运行时检查系统版本
- 如果是代码逻辑,就可以在代码中写入判断系统版本的代码,通过运行时检查是否满足条件来确定代码逻辑是否要被执行。
private fun setUpActionBar() {
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
actionBar.setDisplayHomeAsUpEnabled(true)
}
}
- 如果是
XML资源,Android 会忽略当前设备不支持的 XML 属性。意思是我们可以放心大胆的使用只有新版本才支持的属性。
例如,如果工程里设置了 targetSdkVersion="11",默认情况下应用在 Android 3.0 及更高版本的系统上才会包含 ActionBar。之后如需为操作栏添加菜单项,我们需要在菜单资源 XML 中设置 android:showAsAction="ifRoom"。大家可以放心地在跨版本 XML 文件中执行此操作,因为旧版 Android 会直接忽略 showAsAction 属性(也就是说,我们不需要在 res/menu-v11/ 中单独提供一个版本)。