Android Studio 编译出错 Cannot fit requested classes in a single dex file (# methods: 72777 > 65536)

Android 2020-06-26 阅读 20 评论 0

问题描述

使用 React Native 集成 react-native-navigation,在 Android Studio 上编译出错。

Error: null, Cannot fit requested classes in a single dex file (# methods: 72777 > 65536)

解决方法

主要原因是项目有点大,已经超过 65k 个方法。一个 dex 已经装不下了,需要个多个 dex,也就是 multidex,因为 Android 系统定义总方法数是一个 short int,short int 最大值为 65536。

尽可能删除不必要的依赖,确保 build.gradle 配置文件的 dependencies 尽可能干净,如果所有依赖项都是必须的,可以尝试在 android/app/build.gradle 文件中,增加 multiDexEnabled true 一行。

android {
    ...
    defaultConfig {
        ...
        minSdkVersion 21 
        targetSdkVersion 28
+       multiDexEnabled true
    }
}
dependencies {
    ...
}

重新编译。

最后更新 2020-06-26