Android 根据设备定义targetSdkVersion
我已经在清单中定义了android:targetSdkVersion=“15”,我想用Android 根据设备定义targetSdkVersion,android,sdk,android-sdk-tools,Android,Sdk,Android Sdk Tools,我已经在清单中定义了android:targetSdkVersion=“15”,我想用API级别等于17的设备进行测试 minSdkVersion设置为15 <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" /> 我知道它会工作,因为minSdkVersion设置为低于设备的版本,但我的问题是,我是否应该在每次更改设备时更改targetVersion?targe
API级别等于17
的设备进行测试
minSdkVersion
设置为15
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="15" />
我知道它会工作,因为minSdkVersion设置为低于设备的版本,但我的问题是,我是否应该在每次更改设备时更改targetVersion?targetSdkVersion
不应该总是等于我正在测试的设备的版本吗,正如参考资料中所说的那样
?您不应该更改每台设备的目标版本,而应该更改发布的每一个新API级别
正如您已发布的网页所述:
随着安卓系统随着每个新版本的发展,一些行为甚至
外表可能会改变。但是,如果平台的API级别为
高于应用程序的targetSdkVersion声明的版本
系统可能会启用兼容性行为,以确保您的应用程序
继续以您期望的方式工作
还有几行:
要在每个Android版本中维护应用程序,您需要
应增加此属性的值以匹配最新的API
级别,然后在相应的
平台版本
每一个新的API都包含新的特性,但也会弃用旧的特性;有些甚至可能被完全移除!因此,使用更高API级别运行的设备可能不再支持应用程序中使用的相同功能,这迫使它们启用兼容模式,以便再次能够正确运行应用程序
简言之,不,您的targetSdkVersion
应该与最高API一样高。minSdkVersion
当然应该尽可能低,并且您应该尽量避免使用maxSdkVersion
,因为这样会随着时间的推移降低应用程序的移动性。
即使您的minSdkVersion
为1,而targetSdkVersion
为19,新设备也不必启用兼容模式来运行应用程序。当您向公众发布应用程序时,目标版本和最小SDK版本都存在,它们不会根据设备动态变化。某些代码函数取决于您选择的版本。简言之,不需要更改目标SDK。