Android无法在main-dex文件中容纳请求的类

时间:2019-05-10 10:26:52

标签: java android proguard multidex

请避免发疯

我构建了一个显示错误NoClassDefFoundError的android项目。

我在Multi-dex-config.pro文件中的下面加上了行。

keep class com.google.firebase.**{*;}
keep class com.google.android.gms.** { *; }
keep class com.ustaadthehandyman.user.activities**{*;}</i>

再次构建后,显示错误无法在main-dex文件中容纳请求的类(#方法: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

我可以通过任何一种自动方式将所需的类放入主dex文件中。

请帮助我

先谢谢您

1 个答案:

答案 0 :(得分:0)

我认为您正在将Proguard / R8(例如缩小版)与Multidex混淆。最好使用后者,并禁用Proguard缩小功能(很难正确设置)。

请参阅Android文档网站中的Enable multidex for apps with over 64K methods

具体来说,如果您的minSdkVersion是21岁以上,请添加以下内容:

android {
    defaultConfig {
        ...
        multiDexEnabled true
    }
    ...
}

如果您的应用低于API 21,请参见链接页面以获取更多信息。