我正在尝试使用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
请帮助我,为什么每次运行我的应用程序时都会遇到异常。
答案 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/