Gia*_*nzi 3 sdk android android-manifest
您能向我解释一下我应该如何确定targetSdkLevel的正确值吗?
假设我想构建一个适用于从 android 2.3.7 到 4.0.3 所有版本的应用程序,我应该如何设置minSdkLevel和targetSdkLevel?
前者应该匹配android 2.3.7的API级别,后者应该匹配4.0.3的API级别?
那么,当我开发应用程序时,我应该只使用最旧支持的 sdk 级别中可用的方法/类吗?
当我编译应用程序时,它是针对 2.3.7 还是 4.0.3 进行编译?
我无法理解targetSdkLevel的目的,因为无法为该标签中指定的较新版本编译 apk,否则它无法在低于minSdkLevel指定的版本上工作...为什么我不应该将targetSdkLevel设置为最新可用级别?
我还阅读了有关uses-sdk Manifest标签的官方信息,但我仍然不明白..你能帮我澄清这个话题吗?
编辑:谢谢大家,请原谅我提出重复的问题。我读过这篇博客文章,它确实对我有帮助。你们所有人的回答都很好。
这里解释得很清楚:http ://developer.android.com/guide/topics/manifest/uses-sdk-element.html
minSdkVersion:
Run Code Online (Sandbox Code Playgroud)
一个整数,指定应用程序运行所需的最低 API 级别。如果系统的 API Level 低于该属性中指定的值,Android 系统将阻止用户安装应用程序。您应该始终声明此属性。
而对于targetSdkVersion
一个整数,指定应用程序的目标 API 级别。如果未设置,默认值等于为 minSdkVersion 指定的值。此属性通知系统您已经针对目标版本进行了测试,并且系统不应启用任何兼容性行为以维持应用程序与目标版本的前向兼容性。该应用程序仍然能够在旧版本(低至 minSdkVersion)上运行。
这里有什么你不明白的?
您可以这样设置:
<uses-sdk android:minSdkVersion="10"
android:targetSdkVersion="15"/>
Run Code Online (Sandbox Code Playgroud)
您可以在此处阅读有关 API 级别 14 的更改:http://developer.android.com/sdk/api_diff/14/changes.html 以及在此处了解 API 级别 4 的更改: http: //developer.android.com/sdk /api_diff/4/changes.html
您应该只使用minSdkLevel指定的 SDK 中可用的方法/类,或者通过正确检查运行时 API 版本来包装它们。
您的应用程序将使用项目本身指定的 SDK 进行编译,而不是使用minSdkLevel或targetSdkLevel指定的 SDK 进行编译。
您应该将targetSdkLevel设置为您测试应用程序所使用的最高级别 API。这是因为将根据此值为您的应用程序启用/禁用兼容性行为。
| 归档时间: |
|
| 查看次数: |
284 次 |
| 最近记录: |