【发布时间】:2013-06-28 21:10:00
【问题描述】:
请原谅我对这个主题的无知,我知道 SDK 是一组头文件和库,用于支持编译应用程序。
现在在 android 中有 2 个概念 minSDK 和 TargetSDK。文档说您针对 TargetSDK 进行编译。
所以我有点困惑,如何在编译中使用 2 个 SDK。 链接是如何在运行时发生的。
【问题讨论】:
标签: android
请原谅我对这个主题的无知,我知道 SDK 是一组头文件和库,用于支持编译应用程序。
现在在 android 中有 2 个概念 minSDK 和 TargetSDK。文档说您针对 TargetSDK 进行编译。
所以我有点困惑,如何在编译中使用 2 个 SDK。 链接是如何在运行时发生的。
【问题讨论】:
标签: android
AFAIK,唯一规范确定的用途是由 Play 商店(或任何可能需要操作 apks 的东西)。.apk 是带有清单(可能是二进制)版本的 zip。 xml 在里面。 Play 商店会查找此内容并使用它来防止其商店中的客户下载不支持其 api 版本的应用程序。
我没有必要将规范解释为目标 SDK 版本将用于构建——远离它;清单在编译时没有被广泛检查。清单中的此字段仅告诉 google 您已在目标 SDK 级别测试您的应用,并为更高的 API 版本打开兼容模式。我引用:
例如,将此值设置为“11”或更高允许系统在运行 Android 3.0 或更高版本时将新的默认主题 (Holo) 应用到您的应用,并在运行较大屏幕时禁用屏幕兼容模式(因为对 API 级别 11 的支持隐式支持更大的屏幕)。
如需进一步阅读,请参阅here。
因此,如果您对决定用于构建的 api 的因素感兴趣,您可以在 project.properites 中添加类似 target=Google Inc.:Google APIs:17 的行。
实际上,我建议使用 project.properties 针对您的最低版本构建应用程序,直到您开始 QA,因为如果您不小心使用了以前 SDK 版本的方法,您会在编译时被告知时间。
【讨论】: