我正在编写一个将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')
}


java - 将Apache POI添加为外部库后,应用程序立即崩溃-LMLPHP
我通过将这些外部库粘贴到libs文件夹中并将它们添加为库来添加这些外部库,这可能是导致错误的原因吗?
java - 将Apache POI添加为外部库后,应用程序立即崩溃-LMLPHP

最佳答案

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

或者,找到那些较旧的库或为Android设计的库的版本,该库可能允许您保留当前的minSdkVersion

关于java - 将Apache POI添加为外部库后,应用程序立即崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57103423/

10-09 09:46