请帮助我不要发疯
我构建了一个 android 项目,它显示错误 NoClassDefFoundError
。
我在 Multi-dex-config.pro 文件中添加了以下几行。
keep class com.google.firebase.**{*;}
keep class com.google.android.gms.** { *; }
keep class com.ustaadthehandyman.user.activities**{*;}</i>
再次构建后,显示错误 Cannot fit requests in the main-dex file (#methods: 67808 > 65536)
编辑Multi-dex-config.pro
文件后如下
keep class com.google.firebase.provider**{*;}
keep class com.google.android.gms.provider** { *; }
keep class com.ustaadthehandyman.user.activities**{*;}</i>
它在另一个类中显示另一个错误NoClassDefFoundError
I 是任何将所需类放入主 dex 文件中的自动化方法。
请帮助我
提前谢谢您。
最佳答案
我认为您将 Proguard/R8(例如缩小)与 multidex 混淆了。最好使用后者,并禁用 Proguard 缩小(更难做到正确)。
参见Enable multidex for apps with over 64K methods在 Android 文档站点中。
具体来说,如果您的 minSdkVersion
为 21+,请添加以下内容:
android {
defaultConfig {
...
multiDexEnabled true
}
...
}
如果您的应用低于 API 21,请参阅链接页面以获取更多信息。
关于java - Android 无法在 main-dex 文件中容纳请求的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075698/