Как может внезапно произойти NoClassDefFoundError? - PullRequest
0 голосов
/ 27 апреля 2019

Внезапно, не играя с файлом Gradle, из одной компиляции в другую, я получил эту ошибку:

java.lang.RuntimeException: An error occured while executing doInBackground()

Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLInputFactory;

Caused by: java.lang.ClassNotFoundException: Didn't find class "javax.xml.stream.XMLInputFactory" on path: DexPathList[[zip file "/data/app/com.vuzix.automation.dev-2/base.apk"],nativeLibraryDirectories=[/data/app/com.vuzix.automation.dev-2/lib/arm, /vendor/lib, /system/lib]]

Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
  1. Я пытался отключить мгновенный запуск # не работает

  2. Я пытался удалить приложение, очистить, перекомпилировать # не работает

  3. Я даже обновил версию Android Studio 3.4 и путь к классу gradle до 'com.android.tools.build:gradle:3.4.0'

Мой файл Gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.vuzix.automation.dev"
        minSdkVersion 22
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    maven {
        url "https://nexus-repository.snips.ai/repository/snips-maven-releases/"
    }
}
configurations {
    all*.exclude group: "xmlpull", module: "xmlpull"
    all*.exclude group: "org.apache.commons", module: "commons-compress"
    all*.exclude group: "com.thoughtworks.xstream", module: "commons-compress"
}

android {
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}

dependencies {
    implementation 'com.vuzix:hud-actionmenu:1.1'
    implementation 'com.vuzix:hud-resources:1.1'
    implementation files('libs/core-1.58.0.0.jar')
    implementation files('libs/prov-1.58.0.0.jar')
    implementation files('libs/bcpkix-jdk15on-1.58.0.0.jar')
    implementation files('libs/prosys-opc-ua-sdk-client-server-evaluation-4.0.0-774.jar')
    implementation files('libs/slf4j-api-1.7.25.jar')
    implementation files('libs/slf4j-log4j12-1.7.7.jar')
    implementation files('libs/log4j-1.2.17.jar')
    implementation('ai.snips:snips-platform-android:0.62.3@aar') {
        transitive = true
    }


    implementation 'com.android.support.constraint:constraint-layout:1.1.3'

    ['boofcv-android', 'boofcv-core'].each {
        String a -> api group: 'org.boofcv', name: a, version: '0.31'
    }
    api fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    testImplementation 'junit:junit:4.12'
}

Почему это происходит?

1 Ответ

0 голосов
/ 27 апреля 2019

Я узнал, как решить проблему, хотя мне все еще интересно, почему она работала раньше.

Я скачал com.bea.stax.impl_1.2.0.jar и stax-api-1.0-2.jar и поместил их в папку libs.Затем добавили банки в «Файл» → «Структура проекта» → «Зависимости».

Очистите, соберите, запустите - и вуаля - все заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...