【问题标题】:Android can not fit requested classes in the main-dex fileAndroid 无法在 main-dex 文件中放置请求的类
【发布时间】:2019-09-28 06:01:08
【问题描述】:

请帮助不要发疯

我构建了一个 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 requested classes 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 文件的任何自动化方式。

请帮帮我

提前谢谢你。

【问题讨论】:

    标签: java android proguard android-multidex


    【解决方案1】:

    我认为您将 Proguard/R8(例如缩小)与 multidex 混淆了。最好使用后者,并禁用 Proguard 缩小(更难做到正确)。

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

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

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

    如果您的应用低于 API 21,请参阅链接页面了解更多信息。

    【讨论】:

    • 然后删除缩小minifyEnabled false。这应该可以解决您的问题。
    猜你喜欢
    • 2018-09-06
    • 2020-05-16
    • 2018-06-23
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 2020-09-25
    相关资源
    最近更新 更多