我正在开发一个使用 ActionBarSherlock 的应用程序。正如它的文档指出的那样:
[...] 该库要求它和您的项目都使用 Android 4.0 或更高版本进行编译。该项目还要求您在您的编辑器和您可能使用的任何构建系统中都使用 JDK 1.6 进行编译。
因此,这意味着我将针对 Android 4.X 编译我的应用程序(和库),但在我的清单中,我声明我的目标是(例如)API 级别 9。
这一切都很好,但有一些事情让我感到不安。从常见问题解答:
使用库时,我应该在清单中定位什么 API 级别?
需要以 API 级别 11 或更高版本为目标,因为它会导致 Android 在较新的设备上运行时自动添加本机操作栏。由于您将针对新的 API 进行编译,但您的应用程序可能会在具有旧版本 Android 的设备上运行,因此必须特别注意避免使用或正确检查和调用在您的最低 SDK 版本之后引入的任何方法。
这意味着,我必须手动检查每个方法调用,所以我不使用目标 API 级别中不可用的任何方法(在我的情况下为 9)?这对我来说听起来不对。
有没有办法告诉我的 IDE(IntelliJ),我只使用 API 级别 9(所以我不会对不存在的方法/类进行任何自动完成,也不要意外使用它们)和然后选择针对另一个Android版本编译它?
或者我可以使用一些自动检查(在编译时运行)来检查吗?