transformClassesWithMultidexlistForDevDebug&构建android apk时ClassNotFoundException

时间:2017-01-03 07:56:59

标签: android android-gradle build.gradle android-multidex appdynamics

使用Android Studio构建APK时遇到错误。我的项目需要多dexing,我在build.gradle中启用了它。我还确保build.gradle文件中的构建工具是最新的(当前使用的是2.2.3版本)

dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
}

但是,即使我清理/重建项目,或“无效缓存/重新启动”,也会不断出现错误。

构建时,会弹出错误:

Error:Execution failed for task ':app:transformClassesWithMultidexlistForDevDebug'.
> java.util.NoSuchElementException (no error message)

禁用“即时运行”时会出现上述错误。 如果我启用它,可以成功安装apk,但还有另一个例外:

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.a.b.c.ABCApplication" on path: DexPathList[[zip file "/data/app/com.a.b.c.dev-1/base.apk"],nativeLibraryDirectories=[/data/app/com.a.b.c.dev-1/lib/x86, /vendor/lib, /system/lib]]

我还尝试在build.gradle中添加以下行

dexOptions {
    preDexLibraries true
    javaMaxHeapSize "4g"
    dexInProcess false
}

我还尝试在首选项中禁用“Instance Run”,但仍然徒劳无功。

任何人都可以提供帮助吗?

我确认此错误不是由于更改导致我最近更新了我的项目,因为即使我将项目回滚到一两周前也会发生这种情况。但是很奇怪,这个错误并没发生在上周。我想知道这是否是由于gradle的更新?

1 个答案:

答案 0 :(得分:1)

最后发现它是由于另一个第三方库的更新。

在build.gradle中,最初的罪魁祸首是

    classpath 'com.appdynamics:appdynamics-gradle-plugin:4.+'

将其更改为

    classpath 'com.appdynamics:appdynamics-gradle-plugin:4.2.9.0'

一切正常:)