在开发 Android 应用程序时,假设我希望它与 1.6(API 级别 4)设备兼容,但仍启用 2.2(API 级别 8)功能,例如将 android:installLocation
添加到启用将应用程序移动到 SD 卡。因此,我将 Eclipse 设置为针对 2.2 SDK 而不是 1.6 SDK 进行编译。
添加 unknown 属性,如 android:installLocation
在 1.6 设备上运行时不会使应用程序崩溃,但在编码时我会调用一些在 1.6 中不可用的 API ,比如android.util.Pair
或者Base64
,在1.6运行会崩溃。
是否有可能(例如通过 Eclipse 插件)在构建时(而不是在运行时!)检查项目是否仍然与 1.6 兼容,换句话说,检查是否有任何 API 调用需要超过 1.6(API 级别 4)的方法/类?
最佳答案
检查您的应用程序是否在旧手机上使用不存在的 API 的最佳方法是将目标更改为旧版本(从您支持的最小版本开始)并查看您是否有任何编译错误...这会将您指向不兼容的 API 调用。 至少我是这样做的。
关于android - 确保 Android 项目不会调用比预期 API 级别更新的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291006/