我已在我的清单android:targetSdkVersion="15"
中进行了定义,并且我希望使用API level
等于17
的设备进行测试。
minSdkVersion
设置为15.
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="15" />
我知道它会起作用,因为minSdkVersion被设置为低于设备的版本,但我的问题是我应该在每次更换设备时更改targetVersion吗?并不是targetSdkVersion
应该总是等于我正在测试的设备之一,正如在参考文献中所说的那样
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html?
答案 0 :(得分:2)
您不应该使用每个设备更改目标版本,而是更新已发布的每个新API级别。
正如您已发布的网页所述:
随着Android每个新版本的发展,一些行为甚至是 外表可能会改变。但是,如果平台的API级别是 高于你的应用程序的targetSdkVersion声明的版本, 系统可以启用兼容性行为以确保您的应用程序 继续以你期望的方式工作。
还有几行:
为了维护您的应用程序以及每个Android版本,您 应该增加此属性的值以匹配最新的API 等级,然后彻底测试你的相应的应用程序 平台版本。
每个新API都包含新功能,但也会弃用旧功能;有些甚至可能完全被删除!因此,运行API级别较高的设备可能不再支持您在应用中使用的相同功能,这会强制他们启用兼容模式,以便再次正常运行应用程序。
简而言之,不,您的targetSdkVersion
应该与最高的API一样高。 minSdkVersion
当然应该尽可能低,您应该尽量避免使用maxSdkVersion
,因为这会降低您的应用随时间推移的移动性。
即使您的minSdkVersion
为1且targetSdkVersion
为19,新设备也不必启用兼容模式来运行该应用。