android - multiDexEnabled不起作用

标签 android gradle dex android-multidex

我有一个相当大的android项目。该项目仍然可以编译,但是当我尝试编译测试时,出现错误:

Execution failed for task ':app:dexDebugTest'.
trouble writing output: Too many method references: 70561; max is 65536.
You may try using --multi-dex option.

好的,我找到了multiDexEnabled属性并添加了
multiDexEnabled true

在里面
defaultConfig

我也扩展了我的应用程序
MultiDexApplication

但这并没有改变任何东西,我仍然得到
Execution failed for task ':logic:dexDebugTest'.
trouble writing output: Too many method references: 70561; max is 65536.
You may try using --multi-dex option.

它甚至明确地向我显示了不带--multi-dex参数的dx命令
sdk/build-tools/21.1.1/dx --dex --output /build/intermediates/dex/test/debug --input-list=build/intermediates/tmp/dex/test/debug/libraryList.txt

最佳答案

尝试将其添加到您的build.gradle

android{

...

afterEvaluate {
        tasks.matching {
            it.name.startsWith('dex')
        }.each { dx ->
            if (dx.additionalParameters == null) {
                dx.additionalParameters = ['--multi-dex']
            } else {
                dx.additionalParameters += '--multi-dex'
            }
        }
    }

...
}

关于android - multiDexEnabled不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26883649/

相关文章:

android - 在Gradle中解决React-Native的重复依赖项

Java项目构建

android - 无法执行 dex : Multiple dex files define Lcom/myapp/R$array;

android - 在显示来自 json url Android 的图像时出现 Nullpointerexception

Android:ListPreference 隐藏/禁用值

java - 字符串的switch语句

spring-boot - 使用Kotlin和Gradle时如何将额外的spring-configuration-metadata.json与kapt合并?

Android支持multidex库实现

java - Android Class.forName 无法使用默认类加载器加载类

android - 如何仅在 Room 实体为空时更新它的列?