Dex limit: 65536 methods
Error text
Cannot fit requested classes in a single dex file (# fields: 70000 > 65536) D8: The number of methods in the dex file exceeds 65536
Cause
One dex file can hold at most 65,536 methods. When the app and its libraries exceed it, D8 stops the build.
Step-by-step fix
- With
minSdk21 or higher just setmultiDexEnabled = true. - Below 21, add
androidx.multidex:multidexand callMultiDex.installin yourApplicationclass. - In release builds turn on R8 with
isMinifyEnabled = true: unused methods are removed. - Pick only the module you need from heavy libraries (for example, not all of Google Play Services).
- Open APK Analyzer to see which package takes the most room.
Example commands
android {
defaultConfig {
minSdk = 21
multiDexEnabled = true
}
}
dependencies { implementation("androidx.multidex:multidex:2.0.1") } // yalnız minSdk < 21How to prevent it
Add a big library through its specific module, not as a whole.
Author and license: Nibras Code
- APK will not install
- What is a parse error?
- The keystore is lost
- The signatures do not match
- Package name error
- The APK file is damaged
- Play Protect blocks the app
- The package appears to be invalid
- Not enough storage
- The phone is not compatible
- An older version will not install
- XAPK will not install
- Gradle sync failed
- Could not resolve a dependency
- Duplicate class error
- Manifest merger failed
- R8: Missing class
- JDK version mismatch
- SDK location not found
- minSdkVersion conflict
- compileSdk is too low
- EAS build: Gradle failure
- expo prebuild error
- Metro: Unable to resolve module
- Hermes: JS error only in release
- White screen in release
- Red screen: cannot reach Metro
- Expo SDK mismatch
- Capacitor sync error
- Capacitor: white screen
- EAS: keystore and credentials error
- Keystore was tampered with / wrong password
- Wrong key alias or password
- Play: signed with the wrong key
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- Parse error (problem parsing the package)
- "App not installed" error
- Installing an AAB file on a phone
- adb: device "unauthorized"
- adb: device not found
- adb server version mismatch
- Activity class does not exist
- Play: targetSdk level too low
- Play: permissions policy rejection
- Play: 64-bit requirement
- Play: versionCode already used
- ClassNotFound / NoSuchMethod crash
- OutOfMemoryError crash
- CLEARTEXT communication not permitted
- SecurityException: permission denied