gpt4 book ai didi

android - 使用 Android 4.X 编译但支持 API Level 9

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:53 25 4
gpt4 key购买 nike

我正在开发一个使用 ActionBarSherlock 的应用程序。因为它是documentation指出:

[...] the library requires that both it and your project are compiled with Android 4.0 or newer. The project also requires that you are compiling with JDK 1.6 in both your editor and any build systems that you may be using.

所以,这意味着我将针对 Android 4.X 编译我的应用程序(和库),但在我的 list 中,我声明我的目标是(例如)API 级别 9。

这一切都很好,但有些事情让我感到不安。来自FAQ :

What API level should I target in my manifest when using the library?

Targetting API level 11 or newer is required as it will cause Android to automatically add the native action bar when run on newer devices. Since you will be compiling against new APIs but your app will likely be run on devices with older versions of Android extra care must be taken to either avoid using or properly check and call any methods that were introduced after your minimum SDK version.

这意味着,我必须手动检查每个方法调用,所以我不会使用任何在我的目标 API 级别(在我的例子中是 9)中不可用的方法?这对我来说听起来不对。

有没有办法告诉我的 IDE (IntelliJ),我只使用 API Level 9(所以我没有得到任何不存在的方法/类的自动完成,也不会通过意外),然后选择针对另一个 Android 版本进行编译?

或者我可以使用一些自动检查(在编译时运行)来检查吗?

最佳答案

当针对错误的 API 版本进行 API 调用时,ADT 的 lint 功能应该通过警告来解决这个问题。

您应该使用最新可用的 SDK(目前为 4.1)编译 ABS 和您的项目。您的 list 应具有尽可能高的 targetSdkVersion(最好与您的编译 SDK 匹配),并且您的 minSdkVersion 应设置为您支持的最低版本。

Lint 与 IntelliJ IDEA 部分集成,也可用作命令行工具。

关于android - 使用 Android 4.X 编译但支持 API Level 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11727452/

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