android – multiDexKeepFile无法正常工作

我们在构建multidex App时遇到了问题.我们在应用程序启动期间不断收到不同的java.lang.NoClassDefFoundError错误.

我们注意到它们很可能与multidex问题有关.因为引导应用程序所需的类必须存在于主DEX文件中,并且它们不包含在classes.dex中.我们执行了https://developer.android.com/studio/build/multidex.html#keep中描述的步骤
但是我们在multidex-config.txt中指定的类,甚至是multidex-config.pro中的类都没有放在主dex文件中(classes.dex).

你们有使用multiDexKeepFile或multiDexKeepProguard的经验吗?它真的有效吗?是否有任何技巧可以使它工作并将文件放在classes.dex中?

最佳答案
尝试更新您的gradle插件.我已经看到在2.2.0中完全忽略了配置.当我更新到2.3.3时,它开始尊重我设定的规则.

例:

classpath com.android.tools.build:gradle:2.3.3

在我的默认配置中,我有这个设置:

    multiDexEnabled true
    multiDexKeepProguard file('proguard.multidex.config')

此外,您可能必须在反映更改之前执行干净构建.

转载注明原文:android – multiDexKeepFile无法正常工作 - 代码日志