أخطاء APK

عدم توافق إصدار JDK

نص الخطأ

Unsupported class file major version 65
Android Gradle plugin requires Java 17 to run. You are currently using Java 11.

السبب

يحتاج Gradle أو Android Gradle Plugin إلى JDK مختلف. ملف الصنف أحدث من Java التي تشغله أو العكس.

الحل خطوة بخطوة

  1. شغّل java -version و./gradlew --version لتعرف أي Java تُستخدم.
  2. يحتاج AGP 8 إلى JDK 17. في Android Studio اجعل Settings > Build > Gradle > Gradle JDK يساوي 17.
  3. في سطر الأوامر وجّه JAVA_HOME إلى مجلد JDK 17.
  4. اكتب jvmToolchain(17) في المشروع ليحصل الجميع على Java نفسها.
  5. نفّذ ./gradlew --stop ثم ابنِ من جديد.

أوامر للمثال

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) }

كيف لا يتكرر

اكتب إصدار JDK في README وفي jvmToolchain في مكان واحد.

المؤلف والترخيص: Nibras Code