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 –