multiDexEnabled不起作用

时间:2014-11-12 09:39:54

标签: android gradle dex multidex 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

1 个答案:

答案 0 :(得分:0)

尝试将此添加到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'
            }
        }
    }

...
}