Исключение DexArchiveBuilderException при использовании stanford corenlp - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь выполнить лемматизацию слов, используя 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 \ stanford-corenlp-3.8.0.jar Ошибка: com.android.builder.dexing.DexArchiveBuilderException: единственные поддерживаемые методы com.android.tools.r8.errс 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 \ files-2.1 \ edu.stanford.nlp \ stanford-corenlp \ 3.8.0 \ 79c0ba8dba9734bf51d898f4526117980f7c49c5 \ stanford-corenlp-3.8.0.jar

Пожалуйста, помогите мне, если я получаю следующее исключение всякий раз, когдаЯ запускаю свое приложение.

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Я углубился в понимание, почему его требуется минимум v24 .Причина, по которой он допускает только v24 и выше, заключается в том, что он использует java 1.8 , которые поддерживаются только в v24 и более поздних версиях, как мне кажется.

Поэтому я изменил compile 'edu.stanford.nlp: stanford-corenlp: 3.8.0' на compile 'edu.stanford.nlp: stanford-corenlp: 3.4.1' и этоработал для меня более подробно вы можете прочитать здесь

0 голосов
/ 29 мая 2018

Вывод трассировки стека:

com.android.tools.r8.errors.CompilationError: Методы интерфейса по умолчанию поддерживаются только начиная с Android N (--min-api 24)

Так что вам нужно повысить minSdkVersion до 24

РЕДАКТИРОВАТЬ: Включение совместимости с Java 8 решить проблему: добавление блока ниже к build.gradle

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
...