2016-05-05 86 views
1

我試圖使用兩個修改後的Apache POI庫。每個libray都有修改,可以在android 4. +和5. +上正常工作。從兩個版本的庫加載類取決於Android版本

我需要根據android版本導入特定類的特定庫。

例如:

的Android 4. +版本:

import org.apache.poi.xssf.usermodel.XSSFWorkbook;compile files('libs/aa-poi-3.10-min-0.1.5.jar')

的Android 5. +版本

import org.apache.poi.xssf.usermodel.XSSFWorkbook; compile files('libs/poi-3.12-android-a.jar')

我怎麼能這樣做?由於

回答

1

定義兩種口味

productFlavors { 
    android4plus { 
     minSdkVersion 14 
    } 
    android5plus { 
     minSdkVersion 21 
    } 
} 

現在你可以每味

android4plusCompile files('libs/aa-poi-3.10-min-0.1.5.jar') 
android5plusCompile files('libs/poi-3.12-android-a.jar') 

至於結果,你可以口味之間的發展過程中,並切換將有兩個APK文件分發設置不同的依賴性。

+0

我可以在相同的APK文件中切換偏好嗎?例如在執行時決定是否使用一個導入android4plus或android5plus的類。 – Hanzo

+0

不,它就像兩個分支,每個分支都構建成單獨的APK。在運行時你只有一個分支加載到內存中。 –

+0

如果你想在運行時使用這兩個版本,請爲它們分別設置包名,例如'org.apache.poi.xssf.usermodel.android4.XSSFWorkbook'和'org.apache.poi.xssf.usermodel.android5.XSSFWorkbook'例如。 –