android - 是否可以?如果设备是 android 3.x 或更高版本的设备,在具有兼容性 lib V4 的 2.x 设备中开发的应用程序是否使用 native 库?

标签 android backwards-compatibility

在发布我的问题之前。我看了这个stack overflow .想知道,这真的不可能吗?我使用兼容库 v4 在 android 2.2 中开发了应用程序。这也与 android 3.0 设备兼容。如果设备是 android 2.x,我希望我的应用程序使用 android 兼容性库 v4;如果设备是 android 3.x,我希望我的应用程序使用 native 库。有什么建议吗??

提前致谢

最佳答案

我还没有尝试过我推荐的方法,但它可以工作:

  1. 将构建目标设置为 Honeycomb
  2. 使用 if-else 语句和 Build info确定您使用的是哪个版本的 Android
  3. 如果您低于 3.0,请在您的代码中使用兼容性库
  4. 如果您使用的是 3.0 或更高版本,请使用 native 库。

为此,您需要在代码中使用完全限定名称,而不是在顶部使用导入语句。因此,对于 3.0 及更高版本的 Fragments,您将使用:

android.app.Fragment fragment;

代替:

Fragment fragment;

以及顶部的 import 语句。最后,对于 3.0 之前的版本,您需要这样的语句:

android.support.v4.app.Fragment fragment;

您需要使用这些名称,因为您不能导入两个版本而只使用一个。

关于android - 是否可以?如果设备是 android 3.x 或更高版本的设备,在具有兼容性 lib V4 的 2.x 设备中开发的应用程序是否使用 native 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128164/

相关文章:

java - Android XML 文件不保存

java - 让对话框显示一次

iphone - 我可以在 iOS 4 之前的设备上使用 Core Motion 框架吗?

upgrade - iBatis 3 不向后兼容?

android - 在imageview中重复drawable?

java.lang.NoSuchMethodError : No virtual method toString(Z)Ljava/lang/String; in class Lokhttp3/Cookie; or its super classe

android - 如何在我的共享库中包含正确的包含文件以使用 libdvm.so?

Android:API 级别 < 14 上的 menuItem.expandActionView()

java - 如何将我的 Eclipse 项目转换为较早的 Java 版本?

c++ - defines/macros/structs 和 consts/funcs/classes 在使用方面有什么区别? (C++)