使用stanford corenlp时出现DexArchiveBuilderException异常

时间:2018-05-29 12:26:11

标签: java android stanford-nlp lemmatization

我正在尝试使用stanford corenlp对单词进行词形还原。但是当我在下面添加依赖项时。

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

android {
compileSdkVersion 27



defaultConfig {
    minSdkVersion 23
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}


 dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
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'
compile 'ai.api:sdk:2.0.7@aar'
compile 'ai.api:libai:1.6.12'
compile 'com.android.support:appcompat-v7:27.1.1'
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
compile 'edu.stanford.nlp:stanford-corenlp:3.8.0'

 }
repositories {
mavenCentral()
}

当我运行我的应用程序时,它给了我以下异常:

  

错误:com.android.builder.dexing.DexArchiveBuilderException:无法处理C:\ Users \ LPT-0096.gradle \ caches \ modules-2 \ files-2.1 \ edu.stanford.nlp \ stanford-corenlp \ 3.8 .0 \ 79c0ba8dba9734bf51d898f4526117980f7c49c5 \斯坦福corenlp-3.8.0.jar   错误:com.android.builder.dexing.DexArchiveBuilderException:com.android.tools.r8.errors.CompilationError:仅从Android N(--min-api 24)开始支持默认接口方法:void edu.stanford.nlp。 pipeline.Annotator.unmount()    错误:com.android.tools.r8.errors.CompilationError:仅从Android N(--min-api 24)开始支持默认接口方法:void edu.stanford.nlp.pipeline.Annotator.unmount()   错误:任务':ModroidApp:transformClassesWithDexBuilderForDebug'执行失败。   com.android.build.api.transform.TransformException:com.android.builder.dexing.DexArchiveBuilderException:com.android.builder.dexing.DexArchiveBuilderException:无法处理C:\ Users \ LPT-0096.gradle \ caches \ modules- 2 \文件-2.1 \ edu.stanford.nlp \斯坦福-corenlp \ 3.8.0 \ 79c0ba8dba9734bf51d898f4526117980f7c49c5 \斯坦福-corenlp-3.8.0.jar

请帮助我,为什么每次运行我的应用程序时都会遇到异常。

2 个答案:

答案 0 :(得分:0)

您的堆栈跟踪输出:

  

com.android.tools.r8.errors.CompilationError:默认界面   仅从Android N(--min-api 24)

开始支持方法

所以你必须将你的minSdkVersion升级到24

修改 Enabling java 8 compatibiliy解决了问题:将以下块添加到build.gradle

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

答案 1 :(得分:0)

我深入了解为何要求最低 v24 。原因是它只允许 v24 以上是它使用 java 1.8 ,仅支持 v24 以及更高版本我相信。

所以我改变了编译' edu.stanford.nlp:stanford-corenlp:3.8.0'  编译' edu.stanford.nlp:stanford-corenlp:3.4.1' ,它对我有用,可以阅读更多详细信息https://kotlinexpertise.com/coping-with-kotlins-scope-functions/