【问题标题】:Android Project Build TargetAndroid 项目构建目标
【发布时间】:2011-08-02 04:33:05
【问题描述】:

我有一个最低 android:minSdkVersion 为 Android 2.1 的现有应用 我注意到我的应用在平板电脑 Android (3.0+) 上运行缓慢,因此我想启用 Android 3.0 中添加的硬件加速。

我在 Eclipse 项目 Properties-> Android 下感到困惑的地方我最初选择的是 Android 2.2 (API 8),但为了使新的硬件加速能够工作,我需要选择 Android 3.0 (API 11)。我的问题是将我的项目构建目标切换到 Android 3.0 有什么风险?一般来说,我应该只发布使用最新的项目构建目标编译的版本吗?其他人在做什么?您总是使用最新的 API 发布吗?

我尝试了很多搜索,但只能找到关于 android:minSdkVersion 和 android:targetSdkVersion 的讨论,但没有找到关于构建中使用的实际 Android API 的任何内容。

感谢您的帮助

【问题讨论】:

    标签: android eclipse android-build


    【解决方案1】:

    我认为你还没有阅读文档

    http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

    android:minSdkVersion

    一个整数,指定应用程序运行所需的最低 API 级别。如果系统的 API Level 低于此属性中指定的值,Android 系统将阻止用户安装应用程序。您应该始终声明此属性。

    android:targetSdkVersion

    一个整数,指定应用程序所针对的 API 级别。 使用此属性集,应用程序表示它能够在旧版本上运行(低至 minSdkVersion),但已明确测试可与此处指定的版本一起使用。指定此目标版本允许平台禁用目标版本不需要的兼容性设置(否则可能会打开以保持向前兼容性)或启用旧应用程序不可用的新功能。这并不意味着您可以为平台的不同版本编写不同的功能——它只是通知平台您已经针对目标版本进行了测试,并且平台不应该执行任何额外的工作来保持与目标版本的前向兼容性。

    android:maxSdkVersion

    一个整数,指定应用程序设计运行的最高 API 级别。 在 Android 1.5、1.6、2.0 和 2.0.1 中,系统会在安装应用程序以及在系统更新后重新验证应用程序时检查此属性的值。无论哪种情况,如果应用程序的 android:maxSdkVersion 属性低于系统本身使用的 API Level,那么系统将不允许安装该应用程序。在系统更新后重新验证的情况下,这实际上会从设备中删除您的应用程序。

    Android 的未来版本(Android 2.0.1 之后)将不再在安装或重新验证期间检查或强制执行 android:maxSdkVersion 属性。但是,在向用户提供可供下载的应用程序时,Android Market 将继续使用该属性作为过滤器。

    【讨论】:

    • 因此,如果我的 targetSdkVersion 为 11,而我的 minSdkVersion 为 8,那么我不能使用任何仅在 11 之后可用的 API 来确保它适用于运行 sdk 版本 8 的设备?对吗?
    • 如果你想使用 API 11 的某些特性,那么你必须设置 targetSdkVersion >= 11。另外,如果你想在较低版本上支持相同的应用程序,假设你想支持它在 API8 及以后,您应该设置 minSdkVersion = 8。现在您的应用程序在 API 8、9、10 和 11 上运行,但该功能仅在 API 11 上可用,因此在运行时您必须检查设备的 API 级别如果它是受支持的功能,则使用该功能,否则不要使用或创建替代品。
    • 感谢您的回答。不过,做这样的事情感觉很糟糕!所以我不确定这是否是最好的方法。
    • 那么您可以在 Eclipse 中选择的 Project Build Target 究竟是什么?为什么会和android:targetSdkVersion不一样?
    • @davids 你的问题可以参考this forum
    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多