如何在eclipse中支持支持旧的android版本

时间:2012-06-15 21:27:29

标签: android eclipse android-3.0-honeycomb backwards-compatibility android-2.2-froyo

我的应用程序需要针对API级别7及更高版本,但是我希望在新版本可用时有选择地使用它们。例如,我可能有这样的代码:

if (Build.VERSION.SDK_INT >= 8) {
    base64String = android.util.Base64.encodeToString(bytes, android.util.Base64.DEFAULT);
} else {
    base64String = MyCustomBase64.encodeBytes(bytes);
}

但是,当我在eclipse中配置项目以“Android 2.1”(API 7)为目标时,找不到类android.util.Base64,因为它仅适用于API 8及更高版本。 Eclipse然后将该行指定为编译错误(红色“x”),因为该类不在构建路径上。

我的问题:在使用Eclipse进行Android开发时,处理此类开发(支持在一个目标环境中实际不存在的功能)的“正确”方法是什么?

我总是可以将Eclipse中的目标更改为2.2(API 8),但这也不理想。它创造了一种情况,我可能会在不知情的情况下使用仅存在于8+中的功能而不会被Eclipse通知该事实。

1 个答案:

答案 0 :(得分:1)

您已回答了自己的问题。

  

我总是可以将Eclipse中的目标更改为2.2(API 8)

这就是它的完成方式。您仍然可以将清单中的minSDK / targetSDK设置为7. AFAIK您只需使用if语句,就像您在更高API级别的任何代码周围所显示的那样。