我有一个项目只是使用Android 1.5进行编程,但随着Android 2.2中其他手机和一些很酷的功能的增加,我们希望支持这些功能而不会失去对1.5的支持或分支新的代码库。是否可以使用Android SDK?
我确实有一种“丑陋”的方式来做这件事,就像保持相同的代码库,但有一个构建系统为平台构建不同的版本并保持不同的Java文件在我们的基于选择的版本的构建。我希望有其他人根据市场上运行多个Android版本的多个应用程序版本解决了这个问题。
答案 0 :(得分:6)
我们想支持这些功能 不失1.5或者支持 分叉新的代码库。是吗 可以与Android SDK一起使用吗?
不确定。这些技术已经存在了大约十年左右。
选项#1:使用反射在运行时访问新类(或现有类的新方法)。 See here for an example.
选项#2:使用条件类加载,通过创建接口和两个实现(一个用于较旧的API,一个用于较新的API),以及在运行时加载正确的实现。由于较新的实现不会加载到较旧的设备上,因此较新的实现使用旧设备缺少的类或方法这一事实不会造成问题。 See here for an example.