JDK version mismatch
Error text
Unsupported class file major version 65 Android Gradle plugin requires Java 17 to run. You are currently using Java 11.
Cause
Gradle or the Android Gradle Plugin needs a different JDK. The class file is newer than the Java that runs it, or the other way round.
Step-by-step fix
- Run
java -versionand./gradlew --versionto see which Java is used. - AGP 8 needs JDK 17. In Android Studio set
Settings > Build > Gradle > Gradle JDKto 17. - On the command line point
JAVA_HOMEat the JDK 17 folder. - Put
jvmToolchain(17)in the project so everyone gets the same Java. - Run
./gradlew --stop, then build again.
Example commands
java -version
./gradlew --version
# gradle.properties
org.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64
# app/build.gradle.kts
compileOptions { sourceCompatibility = JavaVersion.VERSION_17; targetCompatibility = JavaVersion.VERSION_17 }
kotlin { jvmToolchain(17) }How to prevent it
Write the JDK version in the README and in jvmToolchain, in one place.
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
- Dex limit: 65536 methods
- R8: Missing class
- 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