gpt4 book ai didi

android - targetSdkVersion 和项目构建目标之间的区别

转载 作者:IT老高 更新时间:2023-10-28 11:12:37 40 4
gpt4 key购买 nike

Manifest 文件中设置的 targetSdkVersion 与构建环境(例如 Eclipse)中设置的 Project 构建目标有什么区别?

我试图找到关于这两个功能的更多信息,但我找不到任何明确而具体的解释。

似乎项目构建目标决定了要在编译期间使用的 API 兼容性级别。当 targetSdkVersion 仅影响给定 API 级别的 list 元素的可见性时。

谁能证实/解释这一点?

编辑:感谢各位及时回复。我忘了在我的问题中提到,我已经阅读了有关这些功能的 Android Dev 上的所有主题,并且还在 Google 上搜索并在 Stack Overflow 上进行了搜索。所以我了解在 Android Market 和 Android 系统本身中使用 min/target/maxSdkVersion 的基本目的。但是,根据对此 Manifest 选项有问题的人的其他帖子,似乎 uses-sdk 实际上确实对 API 级别的解释方式产生了影响。至少这是我怀疑的。

这里给出了一个非常好的解释: http://developer.android.com/guide/appendix/api-levels.html

但是,我仍然不清楚 targetSdkVersion 是否会影响 APK 在 Android 系统上的编译/运行时间?或者它仅用于验证,如 uses-sdk 文档所建议的那样?

最佳答案

targetSdkVersion属性确实会影响应用程序的运行时行为。

根据您的设置,将确定是否在 Android 框架中启用/禁用兼容性功能。

例如,一旦您设置 targetSdkVersion=11,您的应用程序的默认主题将设置为 @android:style/Theme.Holo -- 这意味着您的应用程序将具有 Honeycomb 样式的 UI 小部件,将获得一个操作栏,并且屏幕底部不会有选项菜单按钮。

如果您将 targetSdkVersion 设置为低于以下值,您的默认主题将继续为 @android:style/Theme -- 无论您实际构建的是哪个 API 级别。

targetSdkLevel 也会影响 <supports-screens> 的默认值。元素,这反过来将决定您的应用程序是否在密度兼容模式下运行。

有趣的说明:Android Market 目前并没有真正使用 targetSdkLevel 属性。它纯粹在运行时用于兼容性目的,可能在编译时使用——尽管我没有研究那里的行为。如果人们对编译器感到好奇,我可以咨询 SDK 团队以获取更多信息。

当然,Market 完全有可能决定在未来对此做些什么。

关于android - targetSdkVersion 和项目构建目标之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215574/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com