Java 将Apache POI添加为外部库后,应用程序立即崩溃

Java 将Apache POI添加为外部库后,应用程序立即崩溃,java,android,apache-poi,Java,Android,Apache Poi,我正在编写一个应用程序,它利用ApachePOI作为外部库,以便我能够使用应用程序上生成的数据生成excel文件。然而,在将apache JAR添加到我的lib文件夹并在我的app build.gradle上实现它们之后,我收到了各种DexArchiveBuilderException 我试图使缓存失效并重新启动,并将项目设置为源代码兼容性Java_1_8;但是,我仍然收到相同的错误 android{ 编译DK28版 buildToolsVersion“29.0.0” 默认配置{ applica

我正在编写一个应用程序,它利用ApachePOI作为外部库,以便我能够使用应用程序上生成的数据生成excel文件。然而,在将apache JAR添加到我的lib文件夹并在我的app build.gradle上实现它们之后,我收到了各种DexArchiveBuilderException

我试图使缓存失效并重新启动,并将项目设置为源代码兼容性Java_1_8;但是,我仍然收到相同的错误

android{
编译DK28版
buildToolsVersion“29.0.0”
默认配置{
applicationId“com.example.statstopwatch”
第15版
targetSdkVersion 28
版本代码1
版本名称“1.0”
TestInstrumentRunner“android.support.test.runner.AndroidJUnitRunner”
}
编译选项{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
建筑类型{
释放{
minifyEnabled false
proguard文件GetDefaultProGuard文件('proguard-android-optimize.txt'),'proguard rules.pro'
}
}
}
依赖关系{
实现'com.android.support:appcompat-v7:28.0.0'
实现'com.android.support.constraint:constraint布局:1.1.3'
实现'com.jjoe64:graphview:4.2.2'
测试实现'junit:junit:4.12'
androidTestImplementation'com.android.support.test:runner:1.0.2'
androidTestImplementation'com.android.support.test.espresso:espresso核心:3.0.2'
实现文件('libs/poi-4.1.0.jar')
实现文件('libs/poi-examples-4.1.0.jar')
实现文件('libs/poi-excelant-4.1.0.jar')
实现文件('libs/poi-ooxml-4.1.0.jar')
实现文件('libs/poi-ooxml-schemas-4.1.0.jar')
实现文件('libs/poi-scratchpad-4.1.0.jar')
}

我通过将这些外部库粘贴到libs文件夹并添加为库来添加它们,这可能是错误的原因吗?

您需要将
minSdkVersion
提高到26,因为这些库使用的是仅在Android 8.0及更高版本上可用的Java 8中的内容


或者,找到那些库的一个版本,要么是旧的,要么是为Android设计的,这样可以让你保持当前的
minSdkVersion

太棒了,这个解决方案对我很有用。假设我使用当前的库,提高最低sdk是否会极大地限制应用程序在大多数Android设备上的使用,或者最接近sdk版本26?@Osalia:截至5月初,Android 8.0及更高版本约占使用Play Store的所有Android设备的40%。这一比例会因国家和其他特征而有所不同,但总体仪表盘是一个很好的“经验法则”,用于衡量一个版本的普及程度。