0

我有一个android应用程序,我在android 2.1中构建。但现在是时候转向更大的构建。什么是支持2个或更多的Android版本的最佳方式。 我有过一些建议:android不同版本

  1. 使用Git分支为2建立
  2. 制作人,第一次2.1的应用程序库项目,并创建将使用图书馆的普通班,但 重写所有的两个独立项目控制器
  3. 使用库项目,为不同体型和焕我不得不使用一个类从特定的构建,我会 不得不调用像这样从库项目中的两个单独的项目:

    Class<ExpandableListAdapter> adapterClass = Config.getHotelDistrictAdapterClass(); 
         hotelAdapter = adapterClass.getConstructor(String.class).newInstance(HotelDistrictListActivity.this, 
    

    0,hotelList.size(),hotelList, cretedFromAssets);

    其中Config类将包含构建版本中包含 的配置文件并包含特定 构建的类名。

    所以场景会somothin这样的:LIB项目将 调用的配置类,则配置类将调用在当前版本(4.2或2.1)一个配置 文件,配置文件将返回 类名和配置类将返回类到lib 项目和库项目将实例化类的代码 :

    hotelAdapter = adapterClass.getConstructor(String.class).newInstance(HotelDistrictListActivity.this , 0,hotelList.size(),hotelList,cretedFromAssets);

请提出什么是更好或最好的方式来维护两个独立版本的两个Android版本,或者建议您用来维护两个或更多的Android版本的方式。 谢谢

回答

1

你应该看看AndroidManifest.xml minSDKVersion和targetSDKVersion字段。它们允许您在同一个应用中支持一系列Android版本。

Android Min SDK Version vs. Target SDK Version

+0

感谢您的快速回复,我认为我理解min sdk和target sdk的概念。但是,你建议只使用一个项目并用不同的targetsdk构建它?如果是这样,仍然存在如何支持和管理不同的类,组件,XML和相同问题的不同解决方案的问题买了2.1和4.x – user1796624

0

您可以将您的minSdkVersion容易地设定为8或7和您的构建目标设置为16或17 这可以从你的Manifest.xml文件进行

+0

但是,我只使用一个项目或两个项目,如果我希望设计在2.1和4.0中有所不同?例如,我想开始使用4.x中的操作栏。我如何维护两个版本不同的代码? – user1796624

+0

你可以使用Build.VERSION.SDK_INT,并使用一个if条件来决定如果android id 4或2.1 –