我正在编写一个将Apache poi用作外部库的应用程序,以便能够使用在该应用程序上生成的数据生成excel文件。但是,将apache jar添加到我的lib文件夹并在我的应用程序build.gradle上实现它们之后,我收到各种DexArchiveBuilderExceptions。
我试图使缓存无效并重新启动,并将项目设置为与Java_1_8源代码兼容。但是,我仍然收到相同的错误。
android {
compileSdkVersion 28
buildToolsVersion "29.0.0"
defaultConfig {
applicationId "com.example.statstopwatch"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.jjoe64:graphview:4.2.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation files('libs/poi-4.1.0.jar')
implementation files('libs/poi-examples-4.1.0.jar')
implementation files('libs/poi-excelant-4.1.0.jar')
implementation files('libs/poi-ooxml-4.1.0.jar')
implementation files('libs/poi-ooxml-schemas-4.1.0.jar')
implementation files('libs/poi-scratchpad-4.1.0.jar')
}
我通过将这些外部库粘贴到libs文件夹中并将它们添加为库来添加这些外部库,这可能是导致错误的原因吗?
最佳答案
您需要将minSdkVersion
提高到26,因为这些库使用的是Java 8中的功能,这些功能仅在Android 8.0及更高版本上可用。
或者,找到那些较旧的库或为Android设计的库的版本,该库可能允许您保留当前的minSdkVersion
。
关于java - 将Apache POI添加为外部库后,应用程序立即崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57103423/