it-swarm.dev

كيفية تعيين 1.7 مصدر في Android Studio و Gradle

تظهر لي رسالة الخطأ التالية عند محاولة ترجمة مشروعي في Android Studio:

Gradle: error: diamond operator is not supported in -source 1.6

لدي 1.7 مجموعة كهدف في جميع تفضيلات المشروع التي وجدتها. أيضا المسار المعروض في مشروع SDK تحت 1.7 SDK هو المسار الصحيح لتثبيت Java 1.7.

حتى عندما أقوم بتشغيل Java -version في الجهاز الطرفي ، فإنه يخبرني أنني أقوم بتشغيل Java 1.7.

لقد حاولت ضبط Java_HOME env variable على هذا:

/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home

الخطأ لا يذهب بعيدا. كيف يمكنني القضاء على الخطأ؟

175
simekadam

تمت إضافة دعم Java 7 في أدوات الإنشاء 19. يمكنك الآن استخدام ميزات مثل مشغل الماس أو الصيد متعدد الموارد أو تجربة الموارد أو سلاسل المفاتيح ، إلخ. أضف التالي إلى build.gradle الخاص بك.

Android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

Gradle 1.7+، Android gradle plugin 0.6. + مطلوبة.

لاحظ ، أن تجربة الموارد فقط تتطلب minSdkVersion 19. تعمل ميزات أخرى على الأنظمة الأساسية السابقة.

رابط إلى دليل مستخدم المكون الإضافي لنظام Android gradle

رابط لنرى كيف تختلف المصدر مقابل الهدف

285
Sergii Pechenizkyi

ربما تكون هذه الإجابات أعلاه قديمة ولكن باستخدام Android Studios 1 الجديد ، يمكنك القيام بما يلي لمشاهدة الوحدة النمطية للتشغيل على 1.7 (أو 1.6 إذا كنت تفضل ذلك). انقر فوق ملف -> هيكل المشروع. حدد الوحدة التي تريد تشغيلها ، ثم ضمن "توافق المصدر" و "توافق الهدف" ، حدد 1.7. انقر فوق موافق".

Project Structure screen of Android Studios 1

72
Simon

يمكنك تغييره في إصدار Android studio الجديد (0.8.X)

FIle-> إعدادات أخرى -> الإعدادات الافتراضية -> برنامج التحويل البرمجي (قم بتوسيعه بالنقر فوق السهم الأيسر) -> برنامج Java Compiler -> يمكنك تغيير إصدار مشروع رمز المشروع هنا

enter image description here

14
San

أحدث إصدار من Android Studio 1.4.

انقر فوق ملف> هيكل المشروع> موقع SDK> موقع JDK.

يمكنك أيضًا ضبط توافق إصدار JDK للوحدة الفردية من خلال الانتقال إلى الوحدة النمطية (أسفل موقع SDK) ، وتحرير توافق المصدر وفقًا لذلك. (لاحظ أن هذا ينطبق فقط على وحدة Android).

8
Elye

انقر بزر الماوس الأيمن على مشروعك> افتح إعداد الوحدة النمطية> حدد "مشروع" في قسم "إعداد المشروع"

تغيير SDK Project إلى الأحدث (قد يكون API 21) ومستوى لغة المشروع إلى 7+

5
kunal

في الوقت الحالي ، لا يدعم Android Java 7 ، فقط Java 6. الميزات الجديدة في Java 7 مثل بناء الجملة الماسي غير مدعومة حاليًا. العثور على مصادر لدعم هذا ليس بالأمر السهل ، لكنني وجدت أن محرك Dalvic مبني على مجموعة فرعية من Apache Harmony التي دعمت Java فقط على الإطلاق حتى الإصدار 6. وإذا قمت بفحص متطلبات النظام لتطوير تطبيقات Android ، ينص أيضًا على أن JDK 6 مطلوب على الأقل (على الرغم من أن هذا بالطبع ليس دليلًا حقيقيًا ، إنه مجرد إشارة). و هذا يقول إلى حد كبير نفس الشيء الموجود لدي. إذا وجدت أي شيء أكثر سفلي ، سأضيفه.

تحرير: يبدو أنه تمت إضافة دعم Java 7 منذ أن كتبت في الأصل هذه الإجابة ؛ تحقق من إجابة (Sergii Pechenizkyi.

4
blalasaadri

انتقل إلى Gradle الخاص بك وابحث عن sourceCompatibility وقم بتغييره من 1.6 إلى 7 . التي عملت بالنسبة لي على الأقل.

يمكنك أيضًا الانتقال إلى إعدادات الوحدة الخاصة بك وتعيين المصدر/توافق الهدف إلى 1.7.

نافذة إعدادات الوحدة النمطية

سيؤدي ذلك إلى إنتاج الكود التالي في Gradle:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
2
Feorice

استخدم دائمًا أحدث إصدار من SDK لإنشاء:

compileSdkVersion 23

لا يؤثر لا يؤثر على سلوك وقت التشغيل ، ولكنه يوفر لك أحدث ميزات البرمجة.

2
DenisKolodin