有没有办法使用Android 2.1 / 2.2中的功能同时保持minSDK版本为3?

时间:2010-05-26 15:28:04

标签: android

我有一个项目只是使用Android 1.5进行编程,但随着Android 2.2中其他手机和一些很酷的功能的增加,我们希望支持这些功能而不会失去对1.5的支持或分支新的代码库。是否可以使用Android SDK?

我确实有一种“丑陋”的方式来做这件事,就像保持相同的代码库,但有一个构建系统为平台构建不同的版本并保持不同的Java文件在我们的基于选择的版本的构建。我希望有其他人根据市场上运行多个Android版本的多个应用程序版本解决了这个问题。

1 个答案:

答案 0 :(得分:6)

  

我们想支持这些功能   不失1.5或者支持   分叉新的代码库。是吗   可以与Android SDK一起使用吗?

不确定。这些技术已经存在了大约十年左右。

选项#1:使用反射在运行时访问新类(或现有类的新方法)。 See here for an example.

选项#2:使用条件类加载,通过创建接口和两个实现(一个用于较旧的API,一个用于较新的API),以及在运行时加载正确的实现。由于较新的实现不会加载到较旧的设备上,因此较新的实现使用旧设备缺少的类或方法这一事实不会造成问题。 See here for an example.