作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们在构建 multidex 应用程序时遇到问题。在应用程序启动期间,我们不断收到不同的 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')
此外,在反射(reflect)更改之前,您可能必须进行干净的构建。
关于android - multiDexKeepFile 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43905076/
我们在构建 multidex 应用程序时遇到问题。在应用程序启动期间,我们不断收到不同的 java.lang.NoClassDefFoundError 错误。 我们注意到它们很可能与 multidex
我是一名优秀的程序员,十分优秀!