Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据android版本从两个版本的库加载类_Java_Android_Class_Import - Fatal编程技术网

Java 根据android版本从两个版本的库加载类

Java 根据android版本从两个版本的库加载类,java,android,class,import,Java,Android,Class,Import,我尝试使用两个修改过的ApachePOI库。每个图书馆都进行了修改,可以在安卓4+和5+上正常工作 我需要根据android版本导入特定库的特定类 例如: Android 4.+版本: import org.apache.poi.xssf.usermodel.xssf工作簿 的 编译文件('libs/aa-poi-3.10-min-0.1.5.jar') Android 5.+版本: import org.apache.poi.xssf.usermodel.xssf工作簿 的 编译文件('lib

我尝试使用两个修改过的ApachePOI库。每个图书馆都进行了修改,可以在安卓4+和5+上正常工作

我需要根据android版本导入特定库的特定类

例如:

Android 4.+版本:

import org.apache.poi.xssf.usermodel.xssf工作簿

编译文件('libs/aa-poi-3.10-min-0.1.5.jar')

Android 5.+版本:

import org.apache.poi.xssf.usermodel.xssf工作簿

编译文件('libs/poi-3.12-android-a.jar')

我怎么能这样做?谢谢

定义两种口味

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文件分发。

我可以在同一APK文件中切换偏好吗?例如,在执行时决定使用一个类来导入android4plus还是android5plus。不,它就像两个分支,每个分支构建到单独的APK中。在运行时,只有一个分支加载到内存中。如果希望在运行时同时加载两个版本,请为它们分别命名包名,例如
org.apache.poi.xssf.usermodel.android4.XSSFWorkbook
org.apache.poi.xssf.usermodel.android5.XSSFWorkbook