Android Studio 编译出错 Cannot fit requested classes in a single dex file (# methods: 72777 > 65536)
问题描述
使用 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 {
...
}
重新编译。