عدم توافق إصدار 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 التي تشغله أو العكس.
الحل خطوة بخطوة
- شغّل
java -versionو./gradlew --versionلتعرف أي Java تُستخدم. - يحتاج AGP 8 إلى JDK 17. في Android Studio اجعل
Settings > Build > Gradle > Gradle JDKيساوي 17. - في سطر الأوامر وجّه
JAVA_HOMEإلى مجلد JDK 17. - اكتب
jvmToolchain(17)في المشروع ليحصل الجميع على Java نفسها. - نفّذ
./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
- APK لا يُثبَّت
- ما هو parse error؟
- ضاع ملف keystore
- التواقيع غير متطابقة
- خطأ في اسم الحزمة
- ملف APK تالف
- Play Protect يحظر التطبيق
- تبدو الحزمة غير صالحة
- لا توجد مساحة كافية
- الهاتف غير متوافق
- النسخة الأقدم لا تُثبَّت
- XAPK لا يُثبَّت
- فشل Gradle sync
- تعذّر حل الاعتمادية (Could not resolve)
- خطأ Duplicate class
- Manifest merger failed
- حد Dex: 65536 دالة
- R8: Missing class
- SDK location not found
- تعارض minSdkVersion
- قيمة compileSdk منخفضة جدًا
- EAS build: فشل Gradle
- خطأ expo prebuild
- Metro: Unable to resolve module
- Hermes: خطأ JS في release فقط
- شاشة بيضاء في release
- شاشة حمراء: لا يتصل بـ Metro
- عدم توافق إصدار Expo SDK
- خطأ Capacitor sync
- Capacitor: شاشة بيضاء
- EAS: خطأ keystore وcredentials
- Keystore tampered / كلمة المرور خاطئة
- اسم alias أو كلمة مرور المفتاح خاطئة
- Play: التوقيع بمفتاح خاطئ
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- خطأ في تحليل الحزمة (Parse error)
- خطأ «App not installed»
- تثبيت ملف AAB على الهاتف
- adb: الجهاز «unauthorized»
- adb: الجهاز غير موجود
- عدم تطابق إصدار خادم adb
- Activity class does not exist
- Play: مستوى targetSdk منخفض
- Play: رفض بسبب سياسة الأذونات
- Play: شرط 64-bit
- Play: versionCode مستخدم من قبل
- انهيار ClassNotFound / NoSuchMethod
- انهيار OutOfMemoryError
- CLEARTEXT communication not permitted
- SecurityException: الإذن مرفوض