في ما يلي ملاحظات إصدار "استوديو Android" 3.6 والإصدارات الأقدم والإصدار Android الإصدار 3.6.0 من المكوّن الإضافي Gradle والإصدارات الأقدم.
الإصدارات القديمة من "استوديو Android"
3.6 (شباط/فبراير 2020)
الإصدار Android Studio 3.6 هو إصدار رئيسي يتضمّن مجموعة من الميزات الجديدة والتحسينات.
نريد أيضًا أن نشكر جميع المساهمين في المنتدى الذين ساعدونا في هذا الإصدار.
3.6.3 (نيسان/أبريل 2020)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يمكنك الاطّلاع على المشاركة ذات الصلة في مدوّنة أخبار الإصدارات
3.6.2 (آذار (مارس) 2020)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يمكنك الاطّلاع على المشاركة ذات الصلة في مدوّنة أخبار الإصدارات
3.6.1 (شباط/فبراير 2020)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء متنوّعة. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
أدوات التصميم
يتضمن هذا الإصدار من "استوديو Android" تحديثات على العديد من أدوات التصميم، بما في ذلك محرر التخطيط ومدير الموارد.
تقسيم العرض وتكبير محرِّري التصميم
يتم تضمين التحديثات التالية لمحرري التصميم المرئي في هذا الإصدار:
-
تقدّم الآن أدوات تعديل التصميم، مثل "أداة تعديل التنسيق" و"أداة تعديل التنقّل"، عرضًا مجزّأً يتيح لك الاطّلاع على عرضَي التصميم والرمز لواجهة المستخدم في الوقت نفسه. في أعلى يسار الشاشة نافذة المحرر، يوجد الآن ثلاثة أزرار
للتبديل بين خيارات العرض:
-
لتفعيل وضع "تقسيم العرض"، انقر على رمز تقسيم
.
-
لتفعيل عرض مصدر XML، انقر على رمز المصدر
.
-
لتفعيل عرض التصميم، انقر على رمز التصميم.
-
لتفعيل وضع "تقسيم العرض"، انقر على رمز تقسيم
-
تم نقل عناصر التحكم الخاصة بالتكبير/التصغير والتحريك ضمن محرِّري التصميم إلى لوحة عائمة في أسفل الجانب الأيسر من نافذة المحرر.
لمزيد من المعلومات، راجِع إنشاء واجهة مستخدم باستخدام "محرِّر التنسيق".
علامة تبويب مرجع علبة الألوان
لمساعدتك في تعديل قيم موارد الألوان في تطبيقك بسرعة عند استخدام أداة اختيار الألوان في ملف XML أو أدوات التصميم، تملأ IDE الآن قيم موارد الألوان نيابةً عنك.
مدير الموارد
يتضمّن "مدير الموارد" التعديلات التالية:
- يتيح "مدير الموارد" الآن استخدام معظم أنواع الموارد.
- عند البحث عن مورد، يعرض "مدير الموارد" الآن نتائج من جميع وحدات المشروع. في السابق، كانت عمليات البحث تعرض نتائج من التي تم تحديدها.
- يتيح لك زر التصفية عرض الموارد من الوحدات المحلية التابعة، والمكتبات الخارجية وإطار عمل Android. يمكنك أيضًا استخدام الفلتر إظهار سمات المظاهر.
- يمكنك الآن إعادة تسمية الموارد أثناء عملية الاستيراد من خلال النقر داخل مربع نص أعلى المورد.
لمزيد من المعلومات، يُرجى الاطّلاع على إدارة موارد واجهة المستخدم في تطبيقك باستخدام "أداة إدارة الموارد".
تعديلات على المكوّن الإضافي لنظام Gradle المتوافق مع Android
يتضمّن أحدث إصدار من المكوّن الإضافي لنظام Gradle المتوافق مع Android العديد من التعديلات، بما في ذلك تحسينات على سرعة الإنشاء، وتوافق المكوّن الإضافي لنشر Maven مع الإصدار، وتوافق View Binding. لمزيد من المعلومات، يُرجى قراءة ملاحظات الإصدار الكامل
عرض الربط
يتيح لك ربط طرق العرض إجراء المزيد من كتابة رمز برمجي يتفاعل مع طرق العرض بسهولة من خلال إنشاء فئة ربط لكل ملف XML ملف التخطيط. تحتوي هذه الفئات على إشارات مباشرة إلى جميع الملفات التي تحتوي على معرّف في التنسيق المقابل.
لأنّه سيحلّ محلّ findViewById()
، سيتم إلغاء ربط العرض.
خطر استثناءات المؤشر الفارغ الناتجة عن رقم تعريف ملف شخصي غير صالح.
لتفعيل ربط العرض، عليك استخدام المكوّن الإضافي لنظام Gradle المتوافق مع Android
3.6.0 أو أعلى، وقم بتضمين ما يلي في عنوان
ملف build.gradle
:
رائع
android { buildFeatures.viewBinding = true }
Kotlin
android { buildFeatures.viewBinding = true }
تطبيق التغييرات
يمكنك الآن إضافة فئة ثم نشر تغيير الرمز البرمجي هذا إلى تطبيقك الجاري من خلال النقر على تطبيق تغييرات الرمز البرمجي أو تطبيق التغييرات وإعادة تشغيل النشاط .
لمزيد من المعلومات عن الفرق بين هذين الإجراءين، راجع تطبيق التغييرات
خيار إعادة صياغة القائمة لتفعيل ميزة "التطبيقات الفورية"
يمكنك الآن تفعيل الوحدة الأساسية فورًا في أي وقت بعد إنشاء تطبيقك. للمشروع على النحو التالي:
- افتح لوحة المشروع من خلال اختيار عرض > نوافذ الأدوات > المشروع من شريط القوائم.
- انقر بزر الماوس الأيمن على الوحدة الأساسية، التي يُطلق عليها عادةً اسم "app"، واختَر إعادة صياغة > تفعيل ميزة "تطبيقات فورية".
- في مربّع الحوار الذي يظهر، اختَر الوحدة الأساسية من القائمة المنسدلة.
- انقر على موافق.
ملاحظة: خيار التفعيل الفوري لوحدة التطبيق الأساسية من معالج إنشاء مشروع جديد.
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة نظرة عامة على تطبيقات Google Play الفورية.
إزالة تشويش رمز البايت للفئة والطريقة في أداة تحليل APK
عند استخدام أداة تحليل حِزم APK لفحص ملفات DEX، يمكنك إزالة تشويش الرمز الثنائي للصفوف والطُرق على النحو التالي:
- اختَر إنشاء > تحليل APK من شريط القوائم.
- في مربّع الحوار الذي يظهر، انتقِل إلى حزمة APK التي تريد فحصها وتحديده.
- انقر على فتح.
- في أداة APK Analyzer (أداة تحليل حِزم APK)، اختَر ملف DEX الذي تريد فحصه.
- في عارض ملفات DEX، حمِّل تعيينات ProGuard ملف لملف APK الذي التحليل.
- انقر بزر الماوس الأيمن على الفئة أو الطريقة التي تريد فحصها وتحديدها إظهار رمز البايت
أدوات مدمجة مع المحتوى
تتوافق التحديثات التالية مع التطوير الأصلي (C/C++ ) في "استوديو Android".
دعم Kotlin
تتوفّر ميزات NDK التالية في "استوديو Android" التي كانت متوفّرة سابقًا بلغة Java، متاح الآن أيضًا في Kotlin:
-
الانتقال من بيان JNI إلى دالة التنفيذ المناسبة في لغة C/C++. يمكنك عرض هذا التعيين بالتمرير فوق علامة العنصر C أو C++ بالقرب من رقم السطر في ملف رمز المصدر المُدار.
-
إنشاء دالة تنفيذ مقتطف تلقائيًا لبيان JNI حدِّد بيان JNI أولاً ثم اكتب "jni" أو اسم الطريقة فيملف C/C++ لتفعيلها.
-
يتم تمييز وظائف التنفيذ الأصلية غير المستخدمة كتحذير في رمز المصدر. يتم أيضًا إبراز تعريفات JNI التي لا تتضمّن عمليات تنفيذ على أنّها أخطاء.
-
عند إعادة تسمية دالة تنفيذ أصلية (إعادة صياغة)، يتم تعديل كل بيانات JNI المقابلة. إعادة تسمية بيان JNI لتعديل دالة التنفيذ الأصلية
-
التحقّق من التوقيع لعمليات تنفيذ JNI المرتبطة ضمنيًا
تحسينات أخرى في مؤشر JNI
أصبحت أداة تعديل الرموز في "استوديو Android" متوافقة الآن مع عملية تطوير JNI بسلاسة. بما في ذلك تحسين تلميحات الكتابة والإكمال التلقائي وعمليات الفحص إعادة بناء التعليمات البرمجية.
إعادة تحميل حزمة APK للمكتبات الأصلية {:#3.6-reload-apk}
لم تعد بحاجة إلى إنشاء مشروع جديد عندما تكون حزمة APK في مشروعك كما يتم تحديثها خارج بيئة التطوير المتكاملة. يرصد "استوديو Android" التغييرات في حزمة APK ويمنحك خيار إعادة استيراده.
إرفاق مصادر APK بلغة Kotlin فقط
من الممكن الآن إرفاق مصادر حِزم APK خارجية تستند إلى لغة Kotlin فقط عند الملف الشخصي. وتصحيح أخطاء حِزم APK المُنشأة مسبقًا. لمزيد من المعلومات، يُرجى مراجعة إرفاق مصادر Kotlin/Java
رصد التسرّب في "أداة تحليل الذاكرة"
عند تحليل ملف "تجميع الذاكرة" في "أداة تحليل الذاكرة"، يمكنك الآن فلترة بيانات تحليل الأداء
التي يعتقد Android Studio أنّها قد تشير إلى تسرُّب الذاكرة في مثيلات Activity
Fragment
في تطبيقك.
تشمل أنواع البيانات التي يعرضها الفلتر ما يلي:
-
تم إتلاف
Activity
مثيل ولكن لا تزال المشار إليها. -
Fragment
مثيل غير صالحFragmentManager
لكنها لا تزال حتى الآن المشار إليها.
إرفاق مصادر APK بلغة Kotlin فقط
أصبح من الممكن الآن إرفاق مصادر حِزم APK الخارجية المكتوبة بلغة Kotlin فقط عند تحليل ملف APK وتصحيح أخطاء حِزم APK المُنشأة مسبقًا. لمزيد من المعلومات، يُرجى مراجعة إرفاق مصادر Kotlin/Java
رصد التسرّبات في "محلل الذاكرة"
عند تحليل ملف "تجميع الذاكرة" في "أداة تحليل الذاكرة"، يمكنك الآن فلترة بيانات تحليل الأداء
التي يعتقد Android Studio أنّها قد تشير إلى تسرُّب الذاكرة في مثيلات Activity
Fragment
في تطبيقك.
تشمل أنواع البيانات التي يعرضها الفلتر ما يلي:
-
تم إتلاف
Activity
مثيل ولكن لا تزال المشار إليها. -
Fragment
مثيل غير صالحFragmentManager
ولكن لا تزال الإشارة إليها.
في بعض الحالات، مثل ما يلي، قد يعرض الفلتر خطأ الإيجابيات:
- تم إنشاء
Fragment
ولكن لم يتم استخدامها بعد. - يتم تخزين
Fragment
مؤقتًا ولكن ليس كجزء منFragmentTransaction
لاستخدام هذه الميزة، اعمد أولاً التقاط لقطة لأجزاء من الذاكرة أو استيراد ملف لأجزاء من الذاكرة إلى "استوديو Android" لعرض الأجزاء والأنشطة التي قد تؤدي إلى تسرُّب الذاكرة، ضَع علامة في مربّع الاختيار تسرُّب النشاط/الجزء في لوحة تفريغ ملف heap ضمن "أداة تحليل الذاكرة".
فلترة نَسْخ الذاكرة بحثًا عن حالات تسرُّب الذاكرة
أدوات محاكاة
يساعدك الإصدار 3.6 من "استوديو Android" في الاستفادة من العديد من التحديثات المضمّنة في الإصدار 29.2.7 من محاكي Android والإصدارات الأحدث، كما هو موضّح أدناه.
دعم محسّن للموقع الجغرافي
يقدّم الإصدار 29.2.7 من "محاكي Android" والإصدارات الأحدث ميزات إضافية لمحاكاة إحداثيات نظام تحديد المواقع العالمي (GPS) ومعلومات المسار. عند فتح أدوات المحاكاة عناصر التحكّم الموسّعة، يتم الآن تنظيم الخيارات في علامة التبويب "الموقع" ضمن علامتَي تبويب: النقاط الفردية والمسارات
نقاط فردية
في علامة التبويب النقاط الفردية، يمكنك استخدام webview في "خرائط Google" للبحث عن نقاط اهتمام، تمامًا كما تفعل عند استخدام خرائط Google على الهاتف أو المتصفح. عند البحث عن موقع جغرافي في الخريطة أو النقر عليه، يمكنك حفظ من خلال تحديد "حفظ نقطة" بالقرب من أسفل الخريطة. يتم إدراج جميع المواقع الجغرافية المحفوظة على يسار نافذة عناصر التحكّم الموسّعة .
لضبط موقع المحاكيات على الموقع الذي اخترته على الخريطة، انقر على الزر ضبط الموقع الجغرافي بالقرب من أسفل يسار نافذة عناصر التحكّم الموسّعة.
.
مسارات الرحلة
وعلى غرار علامة التبويب النقاط الفردية، توفر علامة التبويب المسارات علامة التبويب webview في "خرائط Google" الذي يمكنك استخدامه لإنشاء مسار بين موقعين أو أكثر. لإنشاء مسار وحفظه، اتبع الخطوات التالية:
- في عرض الخريطة، استخدم حقل النص للبحث عن الوجهة الأولى في مسارك.
- اختَر الموقع الجغرافي من نتائج البحث.
- حدد زر التنقل .
- اختَر نقطة البداية لمسارك من الخريطة.
- (اختياري) انقر على إضافة وجهة لإضافة المزيد من المحطات إلى مسارك.
- احفظ مسارك بالنقر على حفظ المسار في عرض الخريطة.
- حدّد اسمًا للمسار وانقر على حفظ.
لمحاكاة المحاكي الذي يتبع المسار الذي حفظته، حدد المسار من قائمة المسارات المحفوظة وانقر على تشغيل المسار بالقرب من أسفل يسار نافذة عناصر التحكّم الموسَّعة. لإيقاف المحاكاة، انقر على إيقاف المسار.
.
لمحاكاة المحاكي باستمرار باتباع المسار المحدد، يمكنك تمكين بجانب تكرار التشغيل. لتغيير مدى سرعة تتبع المحاكي المسار المحدّد، اختَر خيارًا من القائمة المنسدلة سرعة التشغيل.
دعم الشاشات المتعددة
يتيح لك محاكي Android الآن نشر تطبيقك على شاشات متعددة، التي تتيح الأبعاد القابلة للتخصيص ويمكنها مساعدتك في اختبار التطبيقات المتوافقة العرض المتعدد والعرض المتعدد. أثناء تشغيل جهاز افتراضي، يمكنك إضافة ما يصل إلى شاشتَي عرض إضافيتَين على النحو التالي:
-
افتح عناصر التحكّم الموسّعة وانتقِل إلى علامة التبويب الشاشات.
-
أضِف شاشة أخرى من خلال النقر على إضافة شاشة ثانوية.
-
من القائمة المنسدلة ضمن شاشات العرض الثانوية، نفِّذ أحد الإجراءات التالية:
-
اختيار إحدى نسب العرض إلى الارتفاع المُعدّة مسبقًا
-
اختَر مخصّص واضبط الارتفاع والعرض والنقاط لكل بوصة للشاشة المخصّصة.
-
(اختياري) انقر على إضافة شاشة ثانوية لإضافة شاشة ثالثة.
-
انقر على تطبيق التغييرات لإضافة شاشات العرض المحدّدة إلى شاشة العرض جهاز افتراضي.
نماذج مشاريع وأجهزة افتراضية جديدة لنظام التشغيل Android Automotive
عند إنشاء مشروع جديد باستخدام "استوديو Android"، يمكنك الآن الاختيار من بين ثلاثة نماذج من علامة التبويب السيارات في معالج إنشاء مشروع جديد: ما مِن نشاط وخدمة الوسائط وخدمة المراسلة. بالنسبة إلى المشاريع الحالية، يمكنك إضافة إمكانية استخدام أجهزة Android Automotive من خلال اختيار ملف > جديد > وحدة جديدة من شريط القوائم، ثم اختيار وحدة Automotive. بعد ذلك يرشدك المعالج إنشاء وحدة جديدة من خلال إنشاء وحدة جديدة باستخدام أحد مشروعات Android Automotive النماذج.
.
بالإضافة إلى ذلك، يمكنك الآن إنشاء جهاز Android افتراضي (AVD) للأجهزة التي تعمل بنظام التشغيل Android Automotive من خلال تحديد أحد الخيارات التالية في علامة التبويب Automotive في معالج إعداد الجهاز الافتراضي.
- Polestar 2: أنشِئ متوسّط مدة المشاهدة (AVD) يحاكي الوحدة الرئيسية Polestar 2.
- Automotive (1024p أفقي): أنشئ جهاز افتراضي للعرض (AVD) لوحدات التحكم الرئيسية في نظام التشغيل Android Automotive التي تعمل بدقة 1024 × 768 بكسل بشكل عام.
.
عمليات تنزيل حِزم SDK القابلة للاستئناف
عند تنزيل مكوّنات حزمة تطوير البرامج (SDK) وأدواتها باستخدام "مدير حزمة تطوير البرامج (SDK)"، يتيح لك Android Studio الآن استئناف عمليات التنزيل التي توقّفت (على سبيل المثال، بسبب مشكلة في الشبكة) بدلاً من إعادة تشغيل عملية التنزيل من البداية. هذا النمط يكون التحسين مفيدًا بشكل خاص لعمليات التنزيل الكبيرة، مثل صور النظام أو المحاكي في حال كان الاتصال بالإنترنت غير موثوق به
بالإضافة إلى ذلك، إذا كانت لديك مهمة تنزيل حزمة SDK قيد التشغيل في الخلفية، يمكنك الآن إيقاف التنزيل مؤقتًا أو استئنافه باستخدام عناصر التحكّم في شريط الحالة.
مهمة تنزيل في الخلفية في شريط الحالة مع إضافة تسمح لك بإيقاف التنزيل مؤقتًا أو استئنافه.
إيقاف Win32
لن يتلقّى إصدار Android Studio المتوافق مع أنظمة التشغيل 32 بت من Windows تحديثات بعد كانون الأول (ديسمبر) 2019، ولن يتلقّى دعمًا بعد كانون الأول (ديسمبر) 2020. يمكنك مواصلة استخدام "استوديو Android". ومع ذلك، لتلقّي تحديثات إضافية، عليك ترقية محطة العمل إلى إصدار 64 بت من Windows.
لمزيد من المعلومات، اطّلِع على مدونة إيقاف العمل بالإصدار 32 بت من نظام التشغيل Windows.
خيار جديد لتحسين وقت مزامنة Gradle
في الإصدارات السابقة، استردّ "استوديو Android" قائمة جميع مهام Gradle أثناء مزامنة Gradle. بالنسبة إلى المشاريع الكبيرة، قد يؤدي استرداد قائمة المهام إلى بطء عملية المزامنة.
لتحسين أداء Gradle Sync، انتقل إلى ملف > الإعدادات > ميزة تجريبية وحدد عدم إنشاء قائمة مهام Gradle أثناء مزامنة Gradle.
عند تفعيل هذا الخيار، يتخطّى "استوديو Android" إنشاء قائمة المهام أثناء المزامنة، التي تسمح لمزامنة Gradle بإكمال أسرع وتحسين واجهة المستخدم والاستجابة. ضع في اعتبارك أنه عندما يتخطى IDE إنشاء قائمة المهام، قوائم المهام في لوحة Gradle فارغة، والإكمال التلقائي لاسم المهمة في لا تعمل ملفات الإصدار.
موقع جديد لتفعيل وضع عدم الاتصال بالإنترنت في Gradle
لتفعيل وضع عدم الاتصال بالإنترنت على منصّة Gradle أو إيقافه، حدِّد أولاً
عرض > نوافذ الأدوات > Gradle من شريط القوائم. بعد ذلك، بالقرب من أعلى
نافذة Gradle، انقر على تبديل الوضع بلا إنترنت
.
IntelliJ IDEA لعام 2019.2
تم تحديث بيئة تطوير Android Studio الأساسية من خلال تحسينات من IntelliJ IDE في الإصدار 2019.2.
لمزيد من المعلومات عن التحسينات من إصدارات IntelliJ الأخرى بشكل تراكمي مع الإصدار 2019.2، اطلع على الصفحات التالية:
المساهمون في المنتدى
نشكر جميع المساهمين في المنتدى الذين ساعدونا في اكتشاف الأخطاء والطُرق الأخرى لتحسين Android Studio 3.6. نودّ على وجه الخصوص شكر المستخدمين التاليين الذين أبلغوا عن الأخطاء:
|
|
|
3.5 آب (أغسطس) 2019
يعد Android Studio 3.5 إصدارًا رئيسيًا ونتيجة لمشروع Marble. بدءًا من إصدار Android Studio 3.3، امتدت مبادرة Project Marble إلى إصدارات متعددة تركّز على تحسين ثلاثة مجالات رئيسية في بيئة التطوير المتكاملة (IDE): سلامة النظام تحسين الميزات وإصلاح الأخطاء.
للحصول على معلومات حول هذه التعديلات وغيرها من تحديثات Project Marble، يُرجى الاطّلاع على مشاركة مدوّنة مطوّري تطبيقات Android أو الأقسام أدناه
نود أيضًا أن نشكر جميع المساهمون في المنتدى الذين ساعدوا في هذا الإصدار.
3.5.3 (كانون الأول (ديسمبر) 2019)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة وتحسينات في الأداء.
3.5.2 (تشرين الثاني (نوفمبر) 2019)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
3.5.1 (تشرين الأول/أكتوبر 2019)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
مشروع Marble: سلامة النظام
يوضّح هذا القسم التغييرات التي تم إجراؤها في الإصدار Android Studio 3.5 والتي تركّز على تحسين حالة النظام.
إعدادات الذاكرة المقترَحة
يرسل "استوديو Android" الآن إشعارًا إليك إذا تبيّن أنّه يمكنك تحسين الأداء. من خلال زيادة الحد الأقصى لذاكرة الوصول العشوائي (RAM) التي يجب أن يخصصها نظام التشغيل لنظام Android عمليات الاستوديو، مثل بيئة التطوير المتكاملة (IDE) وبرنامج Gradle الخفي وبرنامج Kotlin الخفي. يمكنك قبول الإعدادات المقترَحة من خلال النقر على رابط الإجراء في الإشعار، أو يمكنك تعديل هذه الإعدادات يدويًا من خلال اختيار ملف > الإعدادات (أو Android Studio > الإعدادات المفضّلة على نظام التشغيل macOS)، ثم البحث عن القسم إعدادات الذاكرة ضمن المظهر والسلوك > إعدادات النظام. للمزيد من المعلومات راجِع الحد الأقصى لحجم الذاكرة.
إشعار بشأن إعدادات الذاكرة المقترَحة
تقرير استخدام الذاكرة
في بعض الأحيان، يصعب إعادة إنشاء مشاكل الذاكرة في Android Studio و الإبلاغ عنها. للمساعدة في حل هذه المشكلة، يتيح لك "استوديو Android" إنشاء ذكرى تقرير الاستخدام بالنقر على مساعدة > تحليل استخدام الذاكرة من شريط القوائم عند إجراء ذلك، يزيل "محرِّر بيئة التطوير المتكاملة" البيانات محليًا بحثًا عن المعلومات الشخصية قبل أن يسألك ما إذا كنت تريد إرسالها إلى فريق Android Studio للمساعدة في تحديد مصدر مشاكل الذاكرة. لمزيد من المعلومات، راجِع المقالة تشغيل استخدام الذاكرة بشكل تقريري.
تقرير عن استخدام الذاكرة
Windows: تحسين الإدخال/الإخراج لملفات مكافحة الفيروسات
يتحقق "استوديو Android" الآن تلقائيًا مما إذا كانت أدلة مشروع معينة يتم استبعاده من فحص مكافحة الفيروسات في الوقت الفعلي. متى يمكن إجراء تعديلات على لتحسين أداء الإصدارات، سيُرسل لك "استوديو Android" إشعارًا ويقدّم التعليمات حول كيفية تحسين إعدادات مكافحة الفيروسات. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تقليل تأثير برامج مكافحة الفيروسات على سرعة إنشاء الإصدارات.
مشروع Marble: تنقيح الميزات
يصف هذا القسم التغييرات في الإصدار 3.5 من "استوديو Android" التي تركّز على تحسين الميزات الحالية.
تطبيق التغييرات
يتيح لك خيار "تطبيق التغييرات" إرسال التغييرات في الرموز البرمجية والموارد إلى تطبيقك الجاري تنفيذه بدون إعادة تشغيل تطبيقك، وفي بعض الحالات، بدون إعادة تشغيل النشاط الجاري . يُنفذ تطبيق التغييرات منهجًا جديدًا تمامًا للحفاظ على حالة التطبيق. على عكس ميزة "التشغيل الفوري" التي تعيد كتابة الرمز الثنائي لحزمة APK، تعمل ميزة "تطبيق التغييرات" على إعادة تعريف الفئات على الفور من خلال الاستفادة من أداة مراقبة وقت التشغيل المتاحة في الإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.
لمزيد من المعلومات، يُرجى الاطّلاع على تطبيق التغييرات.
أزرار شريط الأدوات لتطبيق التغييرات.
مسار نشر التطبيق
تتضمّن بيئة التطوير المتكاملة (IDE) قائمة منسدلة جديدة تتيح لك اختيار الجهاز الذي تريد التي تريد نشر التطبيق إليها. تتضمّن هذه القائمة أيضًا خيارًا جديدًا يتيح لك تشغيل تطبيقك على أجهزة متعددة في الوقت نفسه.
القائمة المنسدلة "الجهاز المستهدف".
تحسين مزامنة Gradle واكتشاف ذاكرة التخزين المؤقت
وتكتشف بيئة التطوير المتكاملة (IDE) الآن بشكل أفضل الحالات التي يمحو فيها برنامج Gradle ذاكرة التخزين المؤقت بشكل دوري عند تقليل استهلاكه للقرص الثابت. في الإصدارات السابقة، تسببت هذه الحالة في IDE للإبلاغ عن التبعيات المفقودة وفشل مزامنة Gradle. الآن، ما على IDE سوى تنزيل التبعيات حسب الحاجة لضمان اكتمال عملية مزامنة Gradle بنجاح.
نتيجة تحسين أفضل لأخطاء الإصدار
الإصدار
الإبلاغ عن الأخطاء بشكل أفضل، مثل رابط إلى الملف والسطر
للخطأ الذي تم الإبلاغ عنه، لعمليات الإنشاء التالية:
- تجميع وربط AAPT
- R8 وProGuard
- ديكس
- دمج الموارد
- تحليل ملف XML
- تجميع Javac وKotlinc وCMake
ترقيات المشاريع
تجربة تحديث محسَّنة لتوفير مزيد من المعلومات والإجراءات لمساعدتك تحديث بيئة التطوير المتكاملة (IDE) والمكوّن الإضافي لنظام Gradle المتوافق مع Android على سبيل المثال، تتضمّن المزيد من أخطاء المزامنة والإنشاء إجراءات لمساعدتك في تخفيف الأخطاء عند التحديث.
ينبغي أن تضع في اعتبارك أنه يمكنك تحديث بيئة التطوير المتكاملة (IDE) بشكل مستقل عن مثل المكوّن الإضافي لنظام Gradle المتوافق مع Android. وبالتالي، يمكنك تحديث حزمة تطوير البرامج المتكاملة بأمان فور توفّر إصدار أحدث، وتحديث المكوّنات الأخرى لاحقًا.
أداة تعديل التنسيق
يتضمن الإصدار Android Studio 3.5 العديد من التحسينات على العرض المرئي للتصميم، والإدارة والتفاعل.
عند العمل باستخدام ConstraintLayout
، تم وضع قيود جديدة
في لوحة السمات يسرد علاقات القيود
المكون المحدد لواجهة المستخدم. يمكنك اختيار قيد من سطح التصميم
أو من قائمة القيود لتمييز القيد في كلتا المنطقتَين.
حصر العلاقات لعنصر محدد في واجهة المستخدم.
وبالمثل، يمكنك الآن حذف قيد من خلال اختياره والضغط على مفتاح
Delete
. يمكنك أيضًا حذف قيد عن طريق الضغط على
مفتاح Control
(Command
على نظام التشغيل macOS) والنقر على
ارتساء القيد. يُرجى العلم أنّه عند الضغط مع الاستمرار على مفتاح Control
أو
Command
وتمرير مؤشر الماوس فوق عنصر تثبيت، تتحول أي قيود مرتبطة
إلى اللون الأحمر للإشارة إلى أنّه يمكنك النقر عليها لحذفها.
عند تحديد طريقة عرض، يمكنك إنشاء قيد بالنقر فوق أي من + في قسم Constraint Widget من لوحة السمات، وفقًا كما هو موضح في الصورة التالية. عند إنشاء قيد جديد، فإن التخطيط يختار "محرّر إعلانات Google" القيد ويسلّط الضوء عليه الآن، ما يوفّر إمكانية عرض مرئي فوري. ملاحظات حول ما أضفته للتو.
استخدام التطبيق المصغّر للقيود لإنشاء قيود
عند إنشاء قيد، يعرض "محرِّر التنسيق" الآن علامة الارتساء المؤهلة فقط والنقاط التي يمكنك تقييدها. في السابق، كان "محرر التنسيق" يحدد كل نقاط الارتساء على جميع طرق العرض، بغض النظر عما إذا كان بإمكانك تقييدها أم لا. بالإضافة إلى ذلك، يُبرز الآن تراكب أزرق استهداف القيود. ويكون هذا التمييز مفيدًا بشكل خاص عند محاولة تقييد عنصر يتداخل مع عنصر آخر.
إنشاء قيد لمكون متداخل في الإصدار 3.4 من "استوديو Android"
إنشاء قيد لمكون متداخل في الإصدار 3.5 من "استوديو Android"
بالإضافة إلى التحديثات المذكورة أعلاه، يحتوي الإصدار Android Studio 3.5 أيضًا على التحسينات التالية على "محرِّر التخطيط":
- تم الآن استخدام القائمة المنسدلة الأداة المقيَّدة والهامش التلقائي تسمح لك باستخدام موارد السمات للهوامش.
- في شريط أدوات محرر التخطيط، قائمة الأجهزة التي تحدد حجم سطح التصميم. بالإضافة إلى ذلك، تم تحسين سلوك التصاق العناصر أثناء تغيير حجمها، وأصبحت الآن مقابض تغيير الحجم على سطح التصميم مرئية دائمًا. عند تغيير الحجم، تظهر عناصر مركّبة جديدة تعرض الجهاز الشائع. مختلفة.
- يحتوي "محرر التنسيق" على نظام ألوان جديد يحسن الاتساق ويقلل والتباين بين المكونات والنص والقيود.
- يتضمن وضع المخطط الآن دعمًا نصيًا لبعض المكونات حيث لا يكون النص التي يتم عرضها.
لمزيد من المعلومات عن هذه التغييرات، يُرجى الاطّلاع على "مشروع الرخام" في "استوديو Android": محرِّر التنسيق
ربط البيانات
بالإضافة إلى توفير إمكانية المعالجة المتزايدة للتعليقات التوضيحية في "ربط البيانات"، يحسّن بيئة التطوير المتكاملة (IDE) ميزات المحرّر الذكي وأدائه. عند إنشاء تعبيرات ربط البيانات في XML.
أداء أداة تعديل الرموز في الإصدار 3.4 من "استوديو Android"

تحسين أداء تعديل الرموز البرمجية في الإصدار 3.5 من "استوديو Android"
دعم محسّن لمشروعات لغة البرمجة C/C++
يتضمن الإصدار Android Studio 3.5 العديد من التغييرات التي تعمل على تحسين التوافق مع لغة C/C++ مماثلة.
تحسينات على لوحة "خيارات الإصدار" لمزامنة خيار المنتج الواحد
يمكنك الآن تحديد كلّ من نوع الإصدار النشط ومجموعة ABI النشطة في لوحة أنواع الإصدار. تبسّط هذه الميزة إعدادات التصميم لكل وحدة. كما يمكنها أيضًا تحسين أداء مزامنة Gradle.
لمزيد من المعلومات، يُرجى الاطّلاع على تغيير صيغة الإصدار.
لوحة "صيغ الإصدار" مع تحديد خيار واحد حسب واجهة التطبيق الثنائية (ABI)
نُسخ من NDK جنبًا إلى جنب
يمكنك الآن استخدام نُسخ متعددة من NDK جنبًا إلى جنب. تمنحك هذه الميزة مرونة أكبر عند ضبط إعدادات مشاريعك، على سبيل المثال، إذا كانت لديك مشاريع تستخدِم إصدارات مختلفة من NDK على الجهاز نفسه.
إذا كان مشروعك يستخدم الإصدار 3.5.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو إصدارًا أحدث، يمكنك أيضًا تحديد نسخة من NDK التي يجب أن تستخدمها كل وحدة في مشروعك. يمكنك استخدام هذه الميزة لإنشاء إصدارات قابلة للتكرار والحدّ من حالات عدم التوافق بين إصدارات NDK والمكوّن الإضافي لنظام Gradle المتوافق مع Android.
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تثبيت حِزم NDK وCMake وLLDB وضبطها.
فريق دعم ChromeOS
أصبح "استوديو Android" الآن متوافقًا رسميًا مع أجهزة ChromeOS، مثل HP Chromebook x360 14 وAcer Chromebook 13/Spin 13 وغيرهما من الأجهزة التي يمكنك قراءتها عنها في متطلبات النظام. للحصول على ابدأ، يمكنك تنزيل استوديو Android على جهاز جهاز ChromeOS واتّباع الخطوات التالية: تعليمات التثبيت.
ملاحظة: يتيح "استوديو Android" على نظام التشغيل ChromeOS حاليًا نشر تطبيقك فقط على جهاز متصل. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تشغيل التطبيقات على جهاز برمجي .
العرض المشروط لوحدات الميزات
يتيح لك التسليم المشروط ضبط متطلبات معيّنة لإعداد الجهاز. لوحدات الميزات ليتم تنزيلها تلقائيًا أثناء تثبيت التطبيق. على سبيل المثال، يمكنك ضبط وحدة ميزات تتضمّن وظائف الواقع المعزّز (AR) لتصبح متاحة عند تثبيت التطبيق على الأجهزة المتوافقة مع الواقع المعزّز فقط.
تتيح آلية الإرسال هذه حاليًا التحكّم في تنزيل إحدى الوحدات في وقت تثبيت التطبيق استنادًا إلى إعدادات الجهاز التالية:
- ميزات أجهزة الجهاز وبرامجه، بما في ذلك إصدار OpenGL ES
- بلد المستخدم
- مستوى واجهة برمجة التطبيقات
إذا لم يستوفِ الجهاز جميع المتطلبات التي تحدّدها، لن يتم تنزيل الوحدة في وقت تثبيت التطبيق. ومع ذلك، قد يطلب تطبيقك لاحقًا وتنزيل الوحدة عند الطلب باستخدام Play Core المكتبة. لمزيد من المعلومات، يُرجى قراءة إعداد التسليم المشروط:
IntelliJ IDEA 2019.1
تم تحديث بيئة التطوير المتكاملة لـ "استوديو Android" من خلال إضافة تحسينات من IntelliJ. فكرة عامة من خلال إصدار 2019.1، مثل تخصيص المظاهر.
كان الإصدار الأخير من IntelliJ الذي تم تضمينه في "استوديو Android" هو 2018.3.4. لمزيد من المعلومات حول التحسينات من إصدارات IntelliJ الأخرى التي يتم تضمينها بشكل تراكمي في هذا الإصدار من "استوديو Android"، راجِع التحديثات التالية لإصلاح الأخطاء:
- IntelliJ IDEA 2018.3.6{: .external-link}
- IntelliJ IDEA 2018.3.5{: .external-link}
تعديلات على الإصدار 3.5.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
للحصول على معلومات حول الميزات الجديدة في الإصدار 3.5.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، مثل دعم المعالجة التزايدية للتعليقات التوضيحية واختبارات الوحدات القابلة للتخزين المؤقت، راجع ملاحظات الإصدار.
المساهمون في المنتدى
نشكر جميع المساهمين في المنتدى الذين ساعدونا في اكتشاف الأخطاء. وطرق أخرى لتحسين الإصدار 3.5 من "استوديو Android". وعلى وجه الخصوص، نودّ أن نشكرك الأشخاص التالون الذين أبلغوا عن أخطاء P0 وP1:
|
|
|
3.4 (أبريل 2019)
الإصدار Android Studio 3.4 هو إصدار رئيسي يتضمّن مجموعة من الميزات الجديدة والتحسينات.
3.4.2 (تموز/يوليو 2019)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
3.4.1 (أيار/مايو 2019)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يمكنك الاطّلاع على المشاركة ذات الصلة في مدوّنة أخبار الإصدارات
3.4.0 المشاكل المعروفة
يتم إيقاف التحليل عند نشر تطبيقك على أحد الأجهزة تشغيل الإصدار التجريبي من Android Q.
- عند استخدام مكتبة ربط البيانات،
LiveDataListener.onChanged()
قد يتعذّر إكمالها بسبب خطأ في وقت التشغيل (NPE). الحل لهذه المشكلة، سيتم تضمينها في الإصدار 3.4.1 من "استوديو Android" متاح في أحدث نسخة المعاينة من الإصدار 3.5 من "استوديو Android" (راجِع المشكلة رقم 122066788)
IntelliJ IDEA لعام 2018.3.4
تم تحديث بيئة التطوير المتكاملة لـ "استوديو Android" من خلال إضافة تحسينات من IntelliJ. IDEA من خلال إصدار 2018.3.4:
تحديثات الإصدار 3.4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
للحصول على معلومات بشأن الميزات الجديدة في الإصدار 3.4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، يمكنك الاطّلاع على ملاحظات الإصدار.
مربع حوار بنية المشروع الجديد
يجعل مربع حوار هيكل المشروع (PSD) الجديد من السهل تحديث والتبعيات وتهيئة جوانب مختلفة من مشروعك، مثل الوحدات وإنشاء المتغيرات وإعدادات التوقيع ومتغيرات الإصدار.
يمكنك فتح PSD من خلال تحديد ملف > بنية المشروع من القائمة
الشريط. يمكنك أيضًا فتح PSD من خلال الضغط على Ctrl+Shift+Alt+S
في نظام التشغيل Windows
أو Linux أو Command+;
(فاصلة منقوطة) على نظام التشغيل macOS. يمكنك العثور على أوصاف لبعض
الأقسام الجديدة والمحدثة من PSD أدناه.
المتغيّرات
يتيح لك قسم المتغيرات الجديد في PSD إنشاء وإدارة مثل تلك التي تحافظ على اتساق أرقام إصدارات التبعيات خلال مشروعك.
- الاطّلاع سريعًا على متغيّرات الإصدار المتوفّرة في مشروعك وتعديلها النصوص البرمجية لإنشاء Gradle.
- إضافة متغيّرات إنشاء جديدة على مستوى المشروع أو الوحدة مباشرةً من ملف PSD
ملاحظة: إذا تم تعيين ملفات إعداد الإصدارات الحالية القيم من خلال نصوص Groovy المعقّدة، فقد لا تتمكّن من تعديل تلك القيم من خلال PSD. بالإضافة إلى ذلك، لا يمكنك تعديل ملفات التصميم المكتوبة بلغة Kotlin باستخدام ملف PSD.
الوحدات
إعداد السمات التي يتم تطبيقها على جميع صيغ الإصدار في نسخة حالية
أو إضافة وحدات جديدة إلى مشروعك من قسم الوحدات. على سبيل المثال، يمكنك من هنا ضبط إعدادات defaultConfig
أو إدارة إعدادات التوقيع.
التبعيات
فحص وتصور كل تبعية في الرسم البياني للتبعية مشروعك، كما تم حله بواسطة Gradle أثناء مزامنة المشروع، من خلال اتباع هذه الخطوات:
- في الجزء الأيمن من PSD، اختَر التبعيات.
- في لوحة الوحدات، اختَر وحدة تريد فحص التبعيات التي تم حلّها لها.
- على الجانب الأيسر من PSD، افتح جزء التبعيات التي تم حلها، والذي كما هو موضح أدناه.
يمكنك أيضًا البحث عن التبعيات وإضافتها إلى مشروعك بسرعة من خلال أولاً اختيار وحدة من قسم التبعيات في ملف PSD، ثم النقر على الزر (+) في قسم التبعيات المعلَن عنها، واختيار نوع التبعيات التي تريد إضافتها.
استنادًا إلى نوع التبعية التي تختارها، من المفترض أن يظهر لك مربّع حوار، مشابه لما هو موضّح أدناه، لمساعدتك في إضافة التبعية إلى الوحدة.
متغيرات الإصدار
في هذا القسم من ملف PSD، يمكنك إنشاء وتعديل خيارات الإصدار والمنتج. النكهات لكل وحدة في مشروعك. يمكنك إضافة العناصر النائبة في البيان وإضافة ProGuard، وتعيين مفاتيح التوقيع، والمزيد.
الاقتراحات
اطلع على التحديثات المقترحة لتبعيات المشروع وقم ببناء المتغيرات في قسم الاقتراحات، كما هو موضّح أدناه.
مدير موارد جديد
Resource Manager هو نافذة أدوات جديدة للاستيراد والإنشاء والإدارة باستخدام الموارد في تطبيقك. يمكنك فتح نافذة الأداة عن طريق تحديد عرض > نوافذ الأدوات > مدير الموارد من شريط القوائم. المورد يسمح لك "مدير Outline" بإجراء ما يلي:
- عرض الموارد بشكل مرئي: يمكنك معاينة الرسومات والألوان والتنسيقات للعثور على الموارد التي تحتاجها بسرعة.
- الاستيراد المجمّع: يمكنك استيراد عدّة مواد عرض قابلة للرسم دُفعة واحدة باتّباع إحدى الطريقتَين التاليتَين: سحبها وإفلاتها في نافذة أداة مدير الموارد أو حسب باستخدام معالج استيراد العناصر القابلة للرسم. للوصول إلى المعالج، انقر على الزر (+) في أعلى يمين نافذة الأداة، ثم انقر على استيراد الرسومات القابلة للرسم من القائمة المنسدلة.
-
لتحويل ملفات SVG إلى عناصر
VectorDrawable
: يمكنك استخدام معالج استيراد العناصر القابلة للرسم لتحويل صور SVG إلىVectorDrawable
الأخرى. - سحب مواد العرض وإفلاتها: من نافذة أداة مدير الموارد، يمكنك سحب وإفلات العناصر القابلة للرسم في كل من طرق عرض التصميم وXML للتخطيط محرِّر.
- عرض الإصدارات البديلة: يمكنك الآن عرض إصدارات بديلة من مواردك من خلال النقر مرّتين على أحد الموارد ضمن نافذة الأداة. طريقة العرض هذه تعرض الإصدارات المختلفة التي قمت بإنشائها والمؤهلات التي .
- طرق عرض المربّعات والقوائم: يمكنك تغيير طريقة العرض ضمن نافذة الأداة إلى تصور مواردك بترتيبات مختلفة.
لمزيد من المعلومات، اطّلِع على دليل كيفية إدارة موارد التطبيقات
التأكّد من أرقام تعريف الإصدارات عند تحليل حِزم APK وتصحيح الأخطاء في حِزم APK
عند توفير ملفات رموز تصحيح الأخطاء لمكتبات .so
المشتركة داخلها
ملف APK، فإن "استوديو Android" يتأكد من أن
يتطابق رقم تعريف الإصدار لملفات الرموز المقدمة
رقم تعريف الإصدار لمكتبات .so
داخل حِزمة APK
إذا أنشأت المكتبات المجمّعة من رموز برمجية أصلية في حزمة APK باستخدام رقم تعريف الإصدار، يمكنك استخدام "استوديو Android" للتحقّق مما إذا كان رقم تعريف الإصدار في ملفات الرموز يتطابق مع رقم تعريف الإصدار في مكتبات أصلية ويرفض ملفات الرموز إذا كان هناك عدم تطابق. إذا لم يتم إنشاء الإصدار باستخدام معرّف الإصدار، قد يؤدي تقديم ملفات الرموز غير الصحيحة إلى حدوث مشاكل في تصحيح الأخطاء.
تم تفعيل R8 تلقائيًا
تجمع R8 بين عملية إزالة الأخطاء والتقليص والتشويش وعمليات التحسين والفهرسة كلها في خطوة واحدة، مما أدى إلى تحسينات ملحوظة في أداء الإصدارات. تم تقديم R8 في الإصدار 3.3.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android هي مُفعَّلة الآن تلقائيًا لكل من مشاريع مكتبة التطبيقات ومكتبة Android التي تستخدم الإصدار 3.4.0 من المكوّن الإضافي والإصدارات الأحدث.
تقدّم الصورة أدناه نظرة عامة على مستوى عالٍ لعملية الترجمة قبل طرح الإصدار R8.
والآن، باستخدام R8، يتمّ إزالة الترميز السكري والتصغير والتشويه والتحسين وإزالة الترميز (D8) في خطوة واحدة، كما هو موضّح أدناه.
ضع في اعتبارك أن R8 مصممة للعمل مع قواعد ProGuard الحالية، لذا لن تحتاج على الأرجح إلى اتخاذ أي إجراءات للاستفادة من R8. ومع ذلك، بما أنّها تقنية مختلفة عن ProGuard المصمّمة خصيصًا لمشاريع Android، قد يؤدي التصغير والتحسين إلى إزالة رمز برمجي قد لا يزيلّه ProGuard. لذلك، في هذه الحالة غير المحتملة، قد تحتاج إلى إضافة قواعد إضافية للحفاظ على هذا الرمز في ناتج الإنشاء.
إذا كنت تواجه مشكلات في استخدام R8، فاطلع على
الأسئلة الشائعة حول توافق R8
للتحقّق ممّا إذا كان هناك حلّ لمشكلتك. إذا لم يتم توثيق حلّ،
يُرجى الإبلاغ عن خطأ.
يمكنك إيقاف R8 عن طريق إضافة أحد السطور التالية إلى ملف
gradle.properties
في مشروعك:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
ملاحظة: بالنسبة إلى نوع إصدار معيّن، في حال ضبط
من useProguard
إلى false
في تطبيقك
build.gradle
الخاص بالوحدة، فإن المكوّن الإضافي لنظام Gradle المتوافق مع Android يستخدم R8 لتقليص
رمز التطبيق لنوع الإصدار هذا، بغض النظر عمَّا إذا كنت قد أوقفت R8 في
ملف gradle.properties
للمشروع.
يتيح "أداة تعديل التنقّل" الآن جميع أنواع الوسيطات.
جميع أنواع الوسيطات المتوافقة مع مكوِّن التنقل متاحة الآن في محرر التنقل. لمزيد من المعلومات حول الأنواع المتوافقة، راجع تمرير البيانات بين الوجهات:
تحسينات على Layout Editor {:#layout-editor}
تم تبسيط لوحة السمات في "محرر التنسيقات" لتصبح صفحة واحدة تتضمّن أقسامًا يمكنك توسيعها للاطّلاع على السمات التي يمكنك ضبطها. تتضمّن لوحة السمات أيضًا التعديلات التالية:
- يسرد قسم السمات المعلَن عنها الجديد السمات التي يحدّدها ملف التنسيق ويسمح لك بإضافة سمات جديدة بسرعة.
- يعرض جزء السمات الآن أيضًا مؤشرات بجانب كل سمة. تكون ثابتة عندما تكون قيمة السمة مرجع موارد وخالية وإلا.
- تم الآن تمييز السمات التي تحتوي على أخطاء أو تحذيرات. النصوص المميّزة باللّون الأحمر تشير إلى الأخطاء (على سبيل المثال، عند استخدام قيم تخطيط غير صالحة) تشير التمييزات باللون البرتقالي إلى تحذيرات (على سبيل المثال، عندما تستخدم البيانات غير القابلة القيم).
إجراء جديد يهدف إلى استيراد التبعيات بسرعة
إذا بدأت باستخدام فئات معيّنة من Jetpack وFirebase في الرمز البرمجي، يقترح عليك أحد إجراءات القصْد الجديدة
إضافة التبعية المطلوبة لمكتبة Gradle إلى
مشروعك، إذا لم يسبق لك إجراء ذلك. على سبيل المثال، إذا كنت تشير إلى فئة
WorkManager
بدون استيراد التبعية المطلوبة أولاً
android.arch.work:work-runtime
، يتيح لك أحد إجراءات القصْد إجراء ذلك
بسهولة بنقرة واحدة، كما هو موضّح أدناه.
على وجه الخصوص، نظرًا لأن Jetpack أعادت تجميع مكتبة الدعم في شكل منفصل الحزم التي يسهل إدارتها وتحديثها، سيساعدك هذا الإجراء المقصود لا تضيف بسرعة سوى التبعيات التي تحتاج إليها لمكونات Jetpack التي تريد للاستخدام.
3.3 (كانون الثاني/يناير 2019)
الإصدار Android Studio 3.3 هو إصدار رئيسي يتضمّن مجموعة من الميزات الجديدة والتحسينات.
3.3.2 (آذار/مارس 2019)
يتضمّن هذا التحديث البسيط إصلاحات مختلفة للأخطاء وتحسينات على الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء البارزة، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
3.3.1 (شباط/فبراير 2019)
يتضمّن هذا التحديث البسيط إصلاحات أخطاء مختلفة وتحسينات في الأداء.
IntelliJ IDEA لعام 2018.2.2
تم تعديل بيئة تطوير البرامج المتكاملة الأساسية في "استوديو Android" من خلال تحسينات من IntelliJ IDEA في الإصدار 2018.2.2.
تحديثات المكوّن الإضافي لنظام Gradle المتوافق مع Android
للحصول على معلومات عن الميزات الجديدة في المكوّن الإضافي لنظام Gradle المتوافق مع Android، يُرجى الاطّلاع على ملاحظات الإصدار.
أداة تعديل التنقّل
يتيح لك "أداة إنشاء مسار التنقّل" إنشاء مسار التنقّل في تطبيقك وعرض تمثيل بصري له بسرعة باستخدام مكوّن بنية مسار التنقّل.
لمزيد من المعلومات، يُرجى الاطّلاع على تنفيذ التنقّل باستخدام مكوّن بنية التنقّل.
حذف أدلة "استوديو Android" غير المستخدَمة
عند تشغيل إصدار رئيسي من Android Studio لأول مرة، يبحث عن ملفات ترشيح عناوين التخزين المؤقت والإعدادات والفهارس والسجلات لإصدارات IDE التي لا يمكن العثور على عملية تثبيت مقابلة لها. تشير رسالة الأشكال البيانية مربّع الحوار حذف دلائل "استوديو Android" غير المستخدَمة ثم عرض المواقع الجغرافية والأحجام والأوقات المعدّلة الأخيرة لهذه الأدلة غير المستخدمة وتوفر لحذفها.
في ما يلي الأدلة التي يمكن لتطبيق "استوديو Android" حذفها:
- نظام التشغيل Linux:
~/.AndroidStudio[Preview]X.Y
- نظام التشغيل Mac:
~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
- نظام التشغيل Windows:
%USER%.AndroidStudio[Preview]X.Y
تحسينات أداة Lint
تكون أداة Lint، عند استدعائها من Gradle، أسرع بكثير، حيث يمكن للمشروعات الأكبر نتوقع تشغيل الوبر بسرعة تصل إلى أربعة أضعاف.
معالج إنشاء مشروع جديد
يتمتع معالج إنشاء مشروع جديد بمظهر جديد ويحتوي على تحديثات تساعد لتبسيط عملية إنشاء مشاريع جديدة على "استوديو Android"
لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء مشروع.
الإشعارات من محلل الملفات الشخصية
يتضمّن الإصدار 3.3 من "استوديو Android" تعديلات على العديد من أدوات تحليل الأداء الفردية.
تحسين الأداء
استنادًا إلى ملاحظات المستخدمين، تم إيقاف أداء العرض أثناء استخدام المحللين بشكل كبير. يُرجى مواصلة تقديم الملاحظات، خاصةً إذا استمرت المشاكل في الأداء.
خيارات تتبُّع تخصيص الذاكرة في أداة تحليل البيانات
لتحسين أداء التطبيق أثناء إنشاء ملف الأداء، يأخذ أداة تحليل الذاكرة الآن عيّنات من عمليات تخصيص الذاكرة بشكل دوري تلقائيًا. يمكنك تغيير هذا السلوك، إذا أردت، من خلال استخدام القائمة المنسدلة تتبُّع التخصيص عند الاختبار على الأجهزة التي تعمل بنظام التشغيل Android 8.0 (المستوى 26 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث.
باستخدام القائمة المنسدلة تتبُّع التخصيص، يمكنك الاختيار من بين يلي: الأوضاع:
-
كامل: لتسجيل جميع عمليات تخصيص ذاكرة العناصر. لاحظ أنه إذا كان لديك تطبيق التي تخصص الكثير من العناصر، قد تلاحظ مشاكل كبيرة في الأداء أثناء إنشاء ملفات تعريفية.
-
تم أخذ عيّنة: يتم تسجيل عيّنة دورية من عمليات تخصيص ذاكرة العنصر. هذا هو السلوك التلقائي وله تأثير أقل في أداء التطبيق أثناء إنشاء الملف الشخصي. قد تواجه بعض المشاكل في أداء التطبيقات التي تخصّص الكثير من الكائنات خلال فترة زمنية قصيرة.
-
إيقاف: يوقف هذا الخيار تخصيص الذاكرة. إذا لم يكن هذا الخيار محدّدًا، يتم تفعيله تلقائيًا أثناء تسجيل وحدة المعالجة المركزية، ثم يتم الرجوع إلى الإعداد السابق عند انتهاء التسجيل. يمكنك تغيير هذا السلوك في مربع حوار تهيئة تسجيل وحدة المعالجة المركزية (CPU).
ويؤثر التتبُّع في كلٍ من كائنات Java ومراجع JNI.
فحص بيانات عرض اللقطات
في أداة تحليل وحدة المعالجة المركزية، يمكنك الآن فحص المدّة التي يستغرقها تطبيق Java لعرض كل لقطة في سلسلة محادثات واجهة المستخدم الرئيسية وسلسلة محادثات RenderThread. قد تكون هذه البيانات مفيدة عند التحقيق في المعوقات التي يؤدي إلى تعطل واجهة المستخدم ومعدلات عرض إطارات منخفضة. على سبيل المثال، كل إطار يستغرق وقتًا أطول من يتم عرض مدة 16 ملي ثانية المطلوبة للحفاظ على معدل عرض إطارات ثابت باللون الأحمر.
للاطّلاع على بيانات عرض الإطار، يُرجى تسجيل عملية تتبُّع. باستخدام إعداد يتيح لك تتبُّع مكالمات النظام. بعد التسجيل آثار الأنشطة، وابحث عن معلومات حول كل إطار على طول المخطط الزمني للتسجيل ضمن القسم المسمى الإطارات، كما هو موضح أدناه.
لمعرفة المزيد من المعلومات عن التحقيق في مشاكل عدد اللقطات في الثانية وإصلاحها، يُرجى الاطّلاع على العرض البطيء:
الأجزاء في المخطط الزمني للحدث
يعرض المخطط الزمني للحدث الآن حالات إرفاق الأجزاء وإزالتها. بالإضافة إلى ذلك، عند تمرير مؤشّر الماوس فوق أحد الأجزاء، يعرض لك تلميح حالة القطعة.
عرض النص المنسَّق لأحمال الاتصال في أداة تحليل الشبكة
سابقًا، كان محلّل الشبكة يعرض نصًا أوليًا فقط من الاتصال والحمولات. يُعدِّل Android Studio 3.3 الآن أنواعًا معيّنة من النصوص تلقائيًا، بما في ذلك JSON وXML وHTML. في علامتَي التبويب الردّ والطلب، انقر على رابط عرض البيانات التي تم تحليلها لعرض نص منسق، وانقر على رابط عرض المصدر لعرض النص الأولي
لمزيد من المعلومات، يُرجى الاطّلاع على فحص حركة بيانات الشبكة باستخدام أداة تحليل الأداء على الشبكة.
التنزيل التلقائي لمكونات حزمة تطوير البرامج (SDK)
عندما يحتاج مشروعك إلى مكون SDK من منصات SDK أو NDK أو CMake تحاول Gradle الآن تنزيل الحزم المطلوبة تلقائيًا طالما سبق لك قبول أي اتفاقيات ترخيص ذات صلة باستخدام "أداة إدارة حِزم تطوير البرامج (SDK)".
لمزيد من المعلومات، يُرجى مراجعة التنزيل التلقائي للحزم المفقودة باستخدام Gradle
دعم Clang-Tidy
يتضمن "استوديو Android" الآن إمكانية تحليل الرموز الثابتة باستخدام Clang-Tidy للمشاريع التي تتضمن الرمز الأصلي. لتفعيل التوافق مع Clang-Tidy، عدِّل حزمة NDK إلى الإصدار r18 أو إصدار أحدث.
يمكنك بعد ذلك تفعيل عمليات الفحص أو إعادة تفعيلها من خلال فتح الإعدادات أو مربع حوار الإعدادات المفضَّلة والانتقال إلى المحرّر > عمليات الفحص > C/C++ > إعدادات عامة > Clang-Tidy عند اختيار عملية الفحص هذه في مربّع الحوار الإعدادات أو الإعدادات المفضّلة، يمكنك أيضًا الاطّلاع على قائمة عمليات التحقّق من Clang-Tidy التي تم تفعيلها أو إيقافها ضمن قسم الخيار في اللوحة اليمنى. لتفعيل عمليات التحقّق الإضافية، أضِفها إلى القائمة وانقر على تطبيق.
لضبط Clang-Tidy باستخدام خيارات إضافية، انقر على ضبط خيارات عمليات التحقّق في Clang-Tidy وأضِفها في مربّع الحوار الذي ينفتح.
إزالة خيارات تخصيص C++
تمت إزالة الخيارات التالية من قسم تخصيص دعم C++ مربع حوار:
- دعم الاستثناءات (-الاستثناءات)
- دعم معلومات نوع وقت التشغيل (-ftti)
يتم تفعيل السلوكيات ذات الصلة لجميع المشاريع التي يتم إنشاؤها من خلال "استوديو Android".
الإصدار 3.10.2 من CMake
أصبح الإصدار 3.10.2 من CMake مضمّنًا في SDK Manager. لاحظ أن Gradle لا يزال يستخدم الإصدار 3.6.0 افتراضيًا.
لتحديد إصدار CMake لكي تستخدمه Gradle، أضف ما يلي إلى وحدة
ملف build.gradle
:
android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}
لمزيد من المعلومات حول ضبط CMake في build.gradle
، يُرجى الاطّلاع على
ضبط Gradle يدويًا.
بنية "+" جديدة لتحديد الحد الأدنى من إصدارات CMake
عند تحديد نسخة من CMake في ملف build.gradle
في وحدتك الرئيسية،
يمكنك الآن إلحاق علامة "+" لمطابقة سلوك أدوات CMake
cmake_minimum_required()
الأمر.
تحذير: لا يُنصح باستخدام بنية "+" مع تبعيات التصميم الأخرى، لأنّ التبعيات الديناميكية يمكن أن تؤدي إلى تحديثات غير متوقّعة للإصدارات وصعوبة حلّ الاختلافات بين الإصدارات.
تتوافق "مجموعة حزمات تطبيق Android" الآن مع "التطبيقات الفورية"
يتيح لك "استوديو Android" الآن إنشاء مجموعة حزمات تطبيق Android باستخدام الدعم الكامل لتطبيقات Google Play الفورية. ضِمن وبعبارة أخرى، يمكنك الآن إنشاء ونشر كل من التطبيقات المثبّتة والتطبيقات الفورية من مشروع واحد على "استوديو Android" وإدراجها في مشروع واحد مجموعة حزمات تطبيق Android.
في حال إنشاء مشروع جديد على "استوديو Android" باستخدام زر إنشاء مشروع جديد تأكد من تحديد المربع بجوار إعداد مشروعك > سيوفّر هذا المشروع التطبيقات الفورية جهاز Android بعد ذلك، تنشئ "استوديو YouTube" مشروع تطبيق جديدًا كالعادة، ولكنها تتضمّن السمات التالية في ملف البيان لإضافة دعم التطبيق الفوري إلى الوحدة الأساسية:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
يمكنك بعد ذلك إنشاء ميزة يتم تفعيل ميزة التطبيقات الفورية فيها عن طريق تحديد ملف > جديد > وحدة جديدة من شريط القوائم ثم اختيار وحدة الميزات الديناميكية الفورية من إنشاء وحدة جديدة . يُرجى العِلم أنّ إنشاء هذه الوحدة يؤدي أيضًا إلى تفعيل الوحدة الأساسية لتطبيقك على الفور.
لنشر تطبيقك على جهاز محلي كتجربة فورية، عليك تعديل إعدادات التشغيل ووضع علامة في المربّع بجانب الإعدادات العامة > النشر كتطبيق فوري.
مزامنة مشروع أحادي المتغير
مزامنة مشروعك مع إعدادات تصميمك خطوة مهمة في السماح لـ "استوديو Android" بفهم كيفية تنفيذ مشروعك المركبة. ومع ذلك، يمكن أن تستغرق هذه العملية وقتًا طويلاً في حال كانت المشاريع كبيرة. في حال حذف يستخدم مشروعك صيغًا متعددة للإصدار، يمكنك الآن تحسين عمليات مزامنة المشروع من خلال حصرها على السعر المتغير الذي حدّدته حاليًا فقط.
لتفعيل ميزة التحسين هذه، عليك استخدام الإصدار 3.3 من Android Studio أو إصدار أحدث مع المكوّن الإضافي 3.3.0 من Android Gradle أو إصدار أحدث. عند استيفاء هذه المتطلبات، يطلب منك IDE تفعيل هذا التحسين عند مزامنة مشروعك. يتم أيضًا تفعيل ميزة التحسين تلقائيًا في المشاريع الجديدة.
لتفعيل هذا التحسين يدويًا، انقر على ملف > الإعدادات > تجريبي > Gradle (استوديو Android > الإعدادات المفضّلة > تجريبي > Gradle على جهاز Mac) واختَر مربّع الاختيار مزامنة السعر المتغير النشط فقط.
ملاحظة: يدعم هذا التحسين حاليًا المشاريع التي تتضمّن لغة Java فقط. الأساسية. على سبيل المثال، إذا رصدت بيئة تطوير البرامج رمز Kotlin أو C++ في مشروعك، لن تفعّل هذه الميزة المحسّنة تلقائيًا، ويجب عدم تفعيلها يدوياً.
لمزيد من المعلومات، يُرجى الاطّلاع على تفعيل مزامنة المشاريع التي تتضمّن سعرًا واحدًا.
تقديم ملاحظات سريعة
إذا فعّلت مشاركة إحصاءات الاستخدام للمساعدة في تحسين "استوديو Android"، سيظهر هذان الرمزان الجديدان في شريط الحالة أسفل بيئة التطوير المتكاملة (IDE) النافذة:


ما عليك سوى النقر على الرمز الذي يمثّل تجربتك الحالية مع بيئة التطوير المتكاملة (IDE). عند إجراء ذلك، تُرسِل بيئة تطوير البرامج (IDE) إحصاءات الاستخدام التي تسمح لفريق Android Studio بفهم شعورك بشكل أفضل. في بعض الحالات، مثل عندما تشير إلى تجربة سلبية مع بيئة التطوير المتكاملة، ستتاح لك الفرصة وتقديم ملاحظات إضافية.
إذا لم يسبق لك تفعيل مشاركة إحصاءات الاستخدام، يمكنك إجراء ذلك من خلال فتح مربّع حوار الإعدادات الإعدادات المفضّلة على جهاز Mac، والانتقال إلى المظهر والسلوك > إعدادات النظام > مشاركة البيانات وضع علامة في المربّع بجانب إرسال إحصاءات الاستخدام إلى Google.
3.2 (أيلول (سبتمبر) 2018)
يُعدّ الإصدار 3.2 من "استوديو Android" إصدارًا رئيسيًا يتضمّن مجموعة متنوعة من الميزات الجديدة والتحسينات.
3.2.1 (تشرين الأول/أكتوبر 2018)
يتضمّن هذا التحديث لإصدار Android Studio 3.2 التغييرات والإصلاحات التالية:
- أصبح الآن إصدار Kotlin 1.2.71.
- الإصدار التلقائي لأدوات التصميم هو الآن 28.0.3.
- في مكتبة التنقّل، تمت إعادة تسمية أنواع الوسيطات من
type
إلىargType
- تم إصلاح الأخطاء التالية:
- عند استخدام مكتبة ربط البيانات، تكون أسماء المتغيرات بشرطات سفلية كانت تسبب أخطاء في التجميع.
- كان CMake يتسبَّب في تسبّب IntelliSense وميزات CLion الأخرى في إخفاق.
- كانت إضافة
SliceProvider
تؤدي إلى أخطاء في عملية الترجمة compiling في المشاريع التي لا تستخدم مكتباتandroidx.*
. - لم يتم تنفيذ بعض اختبارات وحدات Kotlin.
- حدثت مشكلة في ربط البيانات أدت إلى
PsiInvalidElementAccessException
- كانت عناصر
<merge>
تؤدي في بعض الأحيان إلى تعطُّل "أداة تصميم الإعلانات".
3.2.0 المشاكل المعروفة
ملاحظة: تم حلّ هذه المشاكل في الإصدار 3.2.1 من "استوديو Android".
ننصحك بشدة بعدم استخدام الإصدار 1.2.70 من لغة Kotlin.
يصلح الإصدار 1.2.61 من Kotlin خطأ قد يؤدي إلى توقف "استوديو Android" عن العمل. ولكن Kotlin 1.2.70 لا تتضمن هذا الإصلاح.
ومع ذلك، عليك تضمين هذا الإصلاح في الإصدار 1.2.71 والإصدارات الأحدث من Kotlin.
-
على الرغم من أنّك لا تحتاج عادةً إلى تحديد إصدار أدوات التصميم، عند استخدام الإصدار 3.2.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android مع تم ضبط
renderscriptSupportModeEnabled
علىtrue
، أنت عليك تضمين ما يلي فيbuild.gradle
لكل وحدة الملف:android.buildToolsVersion "28.0.3"
ما هي الميزات الجديدة في "مساعد Google"؟
يُطلعك مساعد جديد على آخر التغييرات في "استوديو Android".
يتم فتح المساعد عند بدء تشغيل "استوديو Android" بعد إجراء عملية تثبيت جديدة أو تحديثه إذا اكتشف وجود معلومات جديدة لعرضها. يمكنك أيضًا فتح المساعد عن طريق اختيار مساعدة > الميزات الجديدة في "استوديو Android"
Android Jetpack
تساعد حزمة Android Jetpack في تسريع تطوير تطبيقات Android باستخدام المكوّنات والأدوات والتوجيهات التي تقضي على المهام المتكرّرة وتتيح لك إنشاء تطبيقات قابلة للاختبار وعالية الجودة بسرعة وسهولة أكبر. يتضمّن "استوديو Android" التحديثات التالية لتتوافق مع Jetpack: لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Jetpack
محرّر التنقل
يتكامل محرر التنقل الجديد مع مكونات التنقل في Android Jetpack لتقديم عرض رسومي لإنشاء هيكل التنقل في تطبيقك. يعمل محرر التنقل على تبسيط تصميم وتنفيذ التنقل بين الوجهات داخل التطبيق.
في الإصدار 3.2 من "استوديو Android"، يُعدّ "محرر التنقّل" ميزة تجريبية. إلى لتمكين محرر التنقل، انقر على ملف > الإعدادات (استوديو Android > الإعدادات المفضّلة على نظام التشغيل Mac)، اختَر الفئة تجريبية. في الجزء الأيمن، ضَع علامة في المربّع بجانب تفعيل محرّر التنقّل، إعادة تشغيل "استوديو Android"
لمزيد من المعلومات، يُرجى الاطّلاع على مستندات "أداة تعديل التنقّل".
نقل بيانات AndroidX
في إطار Jetpack، نعمل على نقل مكتبات Android Support Libraries إلى مكتبة تكميلية جديدة لنظام Android باستخدام مساحة الاسم androidx
. لمزيد من المعلومات،
المعلومات، فراجع
نظرة عامة على AndroidX
يساعدك الإصدار 3.2 من Android Studio في تنفيذ هذه العملية من خلال ميزة نقل جديدة.
لنقل مشروع حالي إلى AndroidX، اختَر إعادة ضبط الإعدادات >. النقل إلى AndroidX إذا كانت لديك أي تبعيات Maven لم يتم نقلها إلى مساحة اسم AndroidX، سيحوّل نظام إنشاء Android Studio أيضًا تبعيات المشروع هذه تلقائيًا.
يوفّر المكوّن الإضافي لنظام Gradle المتوافق مع Android العلامات العامة التالية التي يمكنك ضبطها.
في ملف gradle.properties
:
android.useAndroidX
: عند ضبط هذه العلامة علىtrue
، يتم إلى أنك تريد البدء في استخدام AndroidX من الآن فصاعدًا. إذا كان العلم غير متوفّر، يعمل "استوديو Android" كما لو تم ضبط العلامة علىfalse
.android.enableJetifier
: عند ضبط القيمة علىtrue
، تشير هذه العلامة إلى أنّك تريد الحصول على دعم للأدوات (من المكوّن الإضافي لنظام Gradle في Android) لتحويل المكتبات الحالية التابعة لجهات خارجية تلقائيًا كما لو كانت مكتوبة لنظام AndroidX. في حال عدم توفّر العلامة، يعمل Android Studio كما لو تم ضبط العلامة علىfalse
.
يتم ضبط كلتا العلامتين على true
عند استخدام
نقل البيانات إلى AndroidX.
إذا كنت تريد بدء استخدام مكتبات AndroidX على الفور ولا تحتاج إلى
تحويل المكتبات الحالية التابعة لجهات خارجية، يمكنك ضبط العلامة
android.useAndroidX
على true
والعلامة
android.enableJetifier
على false
.
تنسيق Android App Bundle
مجموعة حزمات تطبيق Android هي تنسيق تحميل جديد يتضمّن كل الرموز البرمجية والموارد المُجمَّعة لتطبيقك، ولكنه يؤجل إنشاء حِزم APK وتوقيعها إلى "سوق Google Play".
بعد ذلك، يستخدم نموذج عرض التطبيقات الجديد في Google Play حِزمة تطبيقك لإنشاء حِزم APK محسّنة وعرضها وفقًا لإعدادات جهاز كل مستخدم، ما يسمح لكل مستخدم بتنزيل الرمز البرمجي والموارد التي يحتاج إليها فقط لتشغيل تطبيقك. ولن تحتاج بعد ذلك إلى إنشاء حِزم APK متعددة وتوقيعها وإدارتها، ويحصل المستخدمون على عمليات تنزيل أصغر حجمًا وأكثر تحسينًا.
بالإضافة إلى ذلك، يمكنك إضافة وحدات ميزات إلى مشروع تطبيقك وتضمينها في حزمة تطبيقك. يمكن للمستخدمين بعد ذلك تنزيل ميزات تطبيقك وتثبيتها عند الطلب
لإنشاء حزمة، اختَر إنشاء > إنشاء حِزم / حِزم APK > إنشاء حِزم
لمزيد من المعلومات، بما في ذلك تعليمات إنشاء مجموعة حزمات تطبيق Android وتحليلها، يُرجى الاطّلاع على مقالة مجموعة حزمات تطبيق Android.
عيّنات البيانات في "محرِّر التنسيق"
تحتوي العديد من تنسيقات Android على بيانات وقت التشغيل التي يمكن أن تصعِّب الاطّلاع على
مظهر التنسيق وأسلوبه أثناء مرحلة التصميم من تطوير التطبيق. إِنْتَ
يمكنه الآن مشاهدة معاينة طريقة العرض بسهولة في محرر التخطيط المليء
بيانات نموذجية. عند إضافة عرض، يظهر زر
أسفل العرض في نافذة "التصميم". انقر فوق هذا الزر لضبط
سمات عرض وقت التصميم. يمكنك الاختيار مما يلي:
من مجموعة متنوعة من نماذج البيانات وتحديد عدد عناصر النماذج
التي يمكن تعبئة طريقة العرض بها.
لتجربة استخدام نموذج البيانات، أضِف
RecyclerView
إلى تخطيط جديد، انقر فوق زر سمات وقت التصميم
أسفل العرض، ثم اختر من بين لوحة العرض الدوّارة لعينات البيانات
النماذج.
الشرائح
توفّر شرائح المعلومات طريقة جديدة لتضمين أجزاء من وظائف تطبيقك في مساحات عرض أخرى لواجهة المستخدم على Android. على سبيل المثال، تتيح الشرائح لعرض وظائف التطبيق ومحتواه في اقتراحات "بحث Google".
يحتوي الإصدار Android Studio 3.2 على نموذج مدمج لمساعدتك في توسيع نطاق تطبيقك من خلال واجهات برمجة التطبيقات الجديدة لمزود الشرائح، بالإضافة إلى عمليات فحص الوبر الجديدة للتأكد من أنك اتباع أفضل الممارسات عند إنشاء الشرائح.
للبدء، انقر بزر الماوس الأيمن على مجلد مشروع ثم اختر جديد > غير ذلك > ماكينة التقطيع:
لمعرفة المزيد من المعلومات، بما في ذلك كيفية اختبار تفاعلاتك مع الشرائح، اقرأ الشرائح دليل البدء.
لغة Kotlin 1.2.61
يضم الإصدار 3.2 من "استوديو Android" الإصدار 1.2.61 من Kotlin ، بينما تتضمّن حزمة تطوير البرامج (SDK) الجديدة لنظام التشغيل Android. بشكل أفضل باستخدام لغة Kotlin. لمزيد من المعلومات، يُرجى الاطّلاع على مدوّنة مطوّري تطبيقات Android.
IntelliJ IDEA 2018.1.6
تم تحديث بيئة التطوير المتكاملة لـ "استوديو Android" من خلال إضافة تحسينات من IntelliJ. IDEA من خلال إصدار 2018.1.6:
محلّلان في Android
يمكنك تجربة الميزات الجديدة التالية في أداة تحليل أداء Android في الإصدار 3.2 من "استوديو Android".
الجلسات
يمكنك الآن حفظ بيانات Profiler الجلسات لإعادة النظر فحصها لاحقًا. يحتفظ أداة تحليل الأداء ببيانات جلستك إلى أن تعيد تشغيل IDE.
عندما تسجيل عملية تتبُّع أو تسجيل لقطة لأجزاء من الذاكرة، يضيف IDE هذه البيانات (بالإضافة إلى شبكة تطبيقك نشاطك) كإدخال منفصل إلى الجلسة الحالية، ويمكنك التبديل بسهولة ذهابًا وإيابًا بين التسجيلات لمقارنة البيانات.
تتبُّع النظام
في أداة تحليل وحدة المعالجة المركزية (CPU)، اختَر
إعدادات System Trace الجديدة لفحص وحدة المعالجة المركزية لنظام جهازك
نشاط سلسلة المحادثات. تستند إعدادات التتبُّع هذه إلى
systrace
كما تفيد في التحقق من المشاكل على مستوى النظام، مثل تعطّل واجهة المستخدم.
أثناء استخدام إعداد التتبُّع هذا، يمكنك وضع علامة مرئية على الرمز المُهم.
في المخطط الزمني للمحلِّل من خلال تزويد رمز C/C++
واجهة برمجة تطبيقات التتبع الأصلية أو رمز Java مع
Trace
الصف.
فحص مراجع JNI في "أداة تحليل الذاكرة"
في حال نشر تطبيقك على جهاز يعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) أو إصدار أحدث، عليك اتّباع الخطوات التالية: يمكنك الآن فحص عمليات تخصيص الذاكرة لرمز JNI الخاص بتطبيقك باستخدام أداة تحليل الذاكرة:
أثناء تشغيل تطبيقك، اختر جزءًا من المخطط الزمني تريد فحص واختيار كومة الذاكرة المؤقتة JNI من القائمة المنسدلة أعلى قائمة الفئات، كما هو موضح أدناه. ويمكنك بعد ذلك فحص العناصر في كومة الذاكرة المؤقتة كما تفعل عادةً النقر مرّتين على العناصر في علامة التبويب حزمة استدعاءات تخصيص لمعرفة مكان تجميع JNI يتم تخصيص المراجع وإصدارها في التعليمات البرمجية.

استيراد ملفات "تجميع الذاكرة" وتصديرها وفحصها
يمكنك الآن استيراد وتصدير وفحص ملفات تفريغ الذاكرة التي تم إنشاؤها باستخدام .hprof
.
باستخدام أداة تحليل الذاكرة.
استورِد ملف .hprof
بالنقر على بدء جلسة جديدة لملف الأداء
في لوحة الجلسات في ملف الأداء، ثم اختيار التحميل من ملف. يمكنك بعد ذلك
وفحص بياناته في "أداة تحليل الذاكرة" كما هو الحال مع أي نَسْخ لأجزاء من الذاكرة.
لحفظ بيانات "تجميع الذاكرة العشوائية" لمراجعتها لاحقًا، استخدِم الزر تصدير تجميع الذاكرة العشوائية على
يسار إدخال تجميع الذاكرة العشوائية في لوحة الجلسات. في جلسة المعمل،
مربع الحوار تصدير باسم الذي يظهر، احفظ الملف باسم ملف .hprof
.
الإضافة.
تسجيل نشاط وحدة المعالجة المركزية (CPU) أثناء بدء تشغيل التطبيق
يمكنك الآن تسجيل نشاط وحدة المعالجة المركزية (CPU) أثناء بدء تشغيل تطبيقك على النحو التالي:
- حدد تشغيل > عدِّل الإعدادات من القائمة الرئيسية.
- ضع علامة في المربّع ضمن علامة التبويب الترميز لإعدادات التشغيل المطلوبة. بجانب بدء تسجيل تتبُّع طريقة عند بدء التشغيل
- حدد تهيئة تسجيل وحدة المعالجة المركزية المطلوب استخدامها من القائمة المنسدلة.
- يمكنك نشر تطبيقك على جهاز يعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث من خلال تحديد تشغيل > الملف الشخصي:
تصدير بيانات آثار وحدة المعالجة المركزية (CPU)
بعد تسجيل نشاط وحدة المعالجة المركزية باستخدام أداة تحليل أداء وحدة المعالجة المركزية، يمكنك تصدير البيانات كملف
بتنسيق .trace
لمشاركته مع الآخرين أو فحصه لاحقًا.
لتصدير بيانات التتبُّع بعد تسجيل نشاط وحدة المعالجة المركزية (CPU)، نفِّذ ما يلي:
- انقر بزر الماوس الأيمن على التسجيل الذي تريد تصديره من المخطط الزمني لوحدة المعالجة المركزية (CPU).
- اختَر تصدير آثار الأنشطة من القائمة المنسدلة.
- انتقِل إلى المكان الذي تريد حفظ الملف فيه وانقر على حفظ.
استيراد ملفات تتبُّع وحدة المعالجة المركزية وفحصها
يمكنك الآن استيراد ملفات .trace
التي تم إنشاؤها باستخدام
Debug API أو
CPU Profiler وفحصها. (في الوقت الحالي،
يتعذّر استيراد تسجيلات System Trace".
استورِد ملف التتبُّع من خلال النقر على بدء جلسة جديدة للمحلِّل.
في
لوحة جلسات المحلّل ثم تحديد
التحميل من الملف يمكنك بعد ذلك
فحص بياناته في "أداة تحليل وحدة المعالجة المركزية" بالطريقة المعتادة، مع مراعاة
الاستثناءات التالية:
- نشاط وحدة المعالجة المركزية غير ممثل في المخطط الزمني لوحدة المعالجة المركزية.
- يشير المخطط الزمني لنشاط سلسلة المحادثات إلى المكان الذي تتوفّر فيه بيانات التتبُّع فقط كل سلسلة محادثات وليست الحالات الفعلية لسلسلة المحادثات (مثل التشغيل أو الانتظار أو نائم).
تسجيل نشاط وحدة المعالجة المركزية (CPU) باستخدام Debug API
يمكنك الآن بدء تسجيل نشاط وحدة المعالجة المركزية وإيقافه في "أداة تحليل وحدة المعالجة المركزية" من خلال
تجهيز تطبيقك باستخدام Debug API. بعد
نشر التطبيق على أحد الأجهزة، يبدأ محلّل البيانات تلقائيًا في تسجيل وحدة المعالجة المركزية (CPU)
النشاط عندما يتصل تطبيقك
startMethodTracing(String tracePath)
،
ويتوقّف المحلل عن التسجيل عندما يتصل تطبيقك
stopMethodTracing()
أثناء تسجيل نشاط وحدة المعالجة المركزية الذي يتم تشغيله باستخدام واجهة برمجة التطبيقات هذه، يعرض "محلل وحدة المعالجة المركزية" Debug API كإعداد تسجيل وحدة المعالجة المركزية المحدّد.
محلّل الطاقة
يعرض ملف تعريف الطاقة تصورًا الاستخدام المقدَّر للطاقة في تطبيقك، بالإضافة إلى أحداث النظام التي تؤثر في الطاقة الاستخدام، مثل عمليات قفل التنشيط والمنبّهات والوظائف.
يظهر Energy Profiler كصف جديد في أسفل Profiler عند تشغيل تطبيقك على جهاز متصل أو على "محاكي Android" قيد التشغيل الإصدار 8.0 من نظام التشغيل Android (الإصدار 26 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث
انقر على الصف Energy (الطاقة) لزيادة عرض "Energy Profiler" (أداة تحليل الطاقة). مرِّر مؤشر الماوس فوق أحد الأشرطة في المخطط الزمني للاطّلاع على تفاصيل استخدام الطاقة حسب موارد وحدة المعالجة المركزية والشبكة والموقع الجغرافي (نظام تحديد المواقع العالمي)، بالإضافة إلى أحداث النظام ذات الصلة.
تتم الإشارة إلى أحداث النظام التي تؤثر في استخدام الطاقة في المخطط الزمني للنظام. أسفل المخطط الزمني لالطاقة. تفاصيل أحداث النظام خلال الفترة المحدّدة يتم عرض النطاق الزمني في جزء الحدث عند اختيار نطاق زمني في المخطط الزمني للطاقة
للاطّلاع على حزمة الاستدعاءات والتفاصيل الأخرى لحدث النظام، مثل قفل التنشيط، وتحديده في جزء الحدث. للانتقال إلى الرمز البرمجي المسؤول عن حدث النظام، انقر مرّتين على الإدخال في تسلسل استدعاء الدوال البرمجية.
فحص أداة Lint
يتضمّن الإصدار 3.2 من "استوديو Android" العديد من الميزات الجديدة والمحسّنة لميزة فحص الأخطاء النحوية.
تساعدك عمليات فحص أداة Lint الجديدة في العثور على مشكلات الرمز الشائعة وتحديدها، بدءًا من من التحذيرات حول مشكلات قابلية الاستخدام المحتملة إلى الأخطاء ذات الأولوية العالية بشأن الثغرات الأمنية المحتملة.
تتحقق أداة Lint من إمكانية التشغيل التفاعلي لـ Java/Kotlin.
للتأكد من توافق رمز Java بشكل جيد مع رمز Kotlin، تفرض عمليات فحص أداة Lint أفضل الممارسات الموضحة في دليل التشغيل التفاعلي لـ Kotlin تشمل أمثلة عمليات التحقّق هذه البحث عن عدم وجود قيمة فارغة. والتعليقات التوضيحية، واستخدام الكلمات الرئيسية الثابتة بلغة Kotlin، ووضع معلمات lambda في النهاية.
لتفعيل عمليات التحقّق هذه، انقر على ملف >. الإعدادات (استوديو Android > الإعدادات المفضّلة على نظام التشغيل Mac) لفتح مربع حوار الإعدادات، ثم انتقل إلى المحرّر > عمليات الفحص > Android > أداة Lint > إمكانية التشغيل التفاعلي > إمكانية التشغيل التفاعلي مع Kotlin واختر القواعد التي تريد تفعيلها.

لتفعيل عمليات التحقّق هذه في إصدارات سطر الأوامر، أضِف ما يلي إلى
ملف build.gradle
:
android {
lintOptions {
check 'Interoperability'
}
}
عمليات التحقّق من أداة Lint في شرائح
تساعد عمليات التحقّق الجديدة من الأخطاء في شرائح التطبيق في التأكّد من إنشاء شرائح بشكل صحيح. على سبيل المثال، تحذّرك عمليات التحقّق من الأخطاء من عدم تحديد إجراء أساسي لشريحة.
هدف Gradle الجديد
استخدِم مهمة lintFix
Gradle الجديدة لتطبيق جميع الإصلاحات الآمنة
التي تقترحها أداة lint مباشرةً على رمز المصدر. مثال على
فحص Lint الذي يقترح حلاً آمنًا لتطبيقه هو SyntheticAccessor
.
تعديلات البيانات الوصفية
تم تحديث عدة بيانات وصفية، مثل فحص إرسال الخدمة، لأداة Lint للعمل مع Android 9 (المستوى 28 من واجهة برمجة التطبيقات).
تحذير في حال تشغيل أداة Lint على متغير جديد
تسجِّل أداة Lint الآن المتغير والإصدار الذي يتم تسجيله ضِمن أداة Lint. سيحذرك عند تشغيله على متغير مختلف عن الذي لإنشاء خط الأساس.
تحسينات على عمليات فحص أداة Lint الحالية
يتضمن الإصدار 3.2 من استوديو Android العديد من التحسينات على عمليات فحص أداة Lint الحالية. على سبيل المثال، تنطبق عمليات التحقّق من دورة الموارد الآن على أنواع موارد إضافية، ويمكن لبرنامج رصد الترجمة العثور على الترجمات غير المتوفّرة أثناء التنقل في المحرّر.
أرقام تعريف المشاكل أكثر سهولة في الاكتشاف
تظهر أرقام تعريف المشاكل الآن في المزيد من الأماكن، بما في ذلك نافذة نتائج
الفحص. وهذا يسهل عليك العثور على المعلومات التي
إلى تفعيل أو إيقاف عمليات تحقّق معيّنة من خلال lintOptions
في
build.gradle
لمزيد من المعلومات، يُرجى مراجعة إعداد خيارات أداة Lint باستخدام Gradle
ربط البيانات (الإصدار 2)
تم تفعيل الإصدار 2 من ميزة "ربط البيانات" تلقائيًا وهو متوافق مع الإصدار 1. يعني ذلك فإذا كانت لديك تبعيات مكتبة قمت بتجميعها باستخدام V1، فيمكنك استخدام في مشروعات باستخدام "ربط البيانات" V2. ومع ذلك، لاحظ أن المشروعات التي تستخدم V1 لا يمكن أن تستهلك التبعيات التي تم تجميعها باستخدام V2.
إزالة السكريات باستخدام D8
في الإصدار 3.1 من Android Studio، دمجنا خطوة إزالة المعالجة السكرية في أداة D8 كميزة تمهيدية، ما قلّل من إجمالي وقت الإنشاء. في الإصدار 3.2 من "استوديو Android"، يكون إزالة الترميز باستخدام D8 مفعَّلاً تلقائيًا.
أداة جديدة لتصغير الرموز
R8 هي أداة جديدة لتصغير الرموز وإخفاء مفاتيح فك التشفير بدلاً من ProGuard. إِنْتَ
يمكنك البدء في استخدام إصدار المعاينة R8 من خلال تضمين ما يلي في
ملف gradle.properties
للمشروع:
android.enableR8 = true
تم تغيير واجهات التطبيق الثنائية (ABI) التلقائية لحِزم APK المتعدّدة.
عند إنشاء حِزم APK متعددة تستهدف كلّ منها واجهة تطبيقات ثنائية مختلفة، لن ينشئ المكوّن الإضافي حِزم APK لواجهات التطبيقات الثنائية التالية تلقائيًا: mips
وmips64
وarmeabi
.
إذا كنت تريد إنشاء حِزم APK تستهدف مجموعات ABI هذه، يجب استخدام
NDK r16b أو إصدار أقدم وتحديد مجموعات ABI
في ملف build.gradle
، كما هو موضّح أدناه:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
ملاحظة: تم تضمين هذا التغيير في السلوك أيضًا في الإصدار 3.1 RC1 من Android Studio والإصدارات الأحدث.
ميزات المحرّر المحسَّنة لملفات إصدار CMake
إذا كنت تستخدم CMake لإضافة رمز C وC++ إلى مشروعك، يتضمّن "استوديو Android" الآن ميزات محسّنة للمحرِّر لمساعدتك في تعديل ملفّات برمجة CMake، مثل ما يلي:
- تمييز البنية وإكمال الرمز البرمجي: تُبرز حزمة IDE الآن إكمال التعليمات البرمجية لأوامر CMake الشائعة وتقترحها. بالإضافة إلى ذلك، يمكنك الانتقال إلى ملف من خلال النقر عليه أثناء الضغط على مفتاح Control (Command في Mac).
- إعادة تنسيق الرمز: يمكنك الآن استخدام خيار إعادة تنسيق الرمز من IntelliJ من أجل تطبيق أنماط الرموز على النصوص البرمجية لإصدار CMake.
- إعادة الهيكلة الآمنة: تتحقّق الآن أدوات إعادة البناء المدمجة في بيئة التطوير المتكاملة (IDE) أيضًا مما إذا كان إعادة تسمية أو حذف الملفات التي تشير إليها في إصدار CMake والنصوص البرمجية.
التنقّل في ملفات العناوين الخارجية
عند استخدام نافذة المشروع في الإصدارات السابقة من Android Studio، كان بإمكانك التنقّل في ملفات الرأس التي تنتمي إلى المكتبات التي يتم إنشاؤها من مشروع على الجهاز فقط وفحصها. من خلال هذا الإصدار، يمكنك أيضًا عرض وفحص ملفات رؤوس مضمّنة مع ملحقات مكتبة C/C++ الخارجية التي تستوردها في مشروع تطبيقك.
إذا قمت بالفعل تضمين رمز C/C++ والمكتبات في مشروعك افتح نافذة مشروع على الجانب الأيمن من بيئة التطوير المتكاملة (IDE) عن طريق اختيار عرض > نوافذ الأدوات > مشروع من القائمة الرئيسية وحدد Android من القائمة المنسدلة. في دليل cpp، جميع العناوين الموجودة ضمن يتم تنظيم نطاق مشروع تطبيقك ضمن العقدة include لكل بتبعيات مكتبة C/C++ المحلية، كما هو موضح أدناه.

الإعداد التلقائي لميزة "دليل متعدد الأذونات" مُفعّل تلقائيًا
كانت الإصدارات السابقة من "استوديو Android" قد أتاحت إمكانية وكيل متعدد النماذج الأصلي عند نشر
إصدار تصحيح أخطاء أحد التطبيقات على جهاز يعمل بالمستوى 21 من واجهة برمجة تطبيقات Android أو المستويات الأحدث دِلْوَقْتِي،
فسواء كنت تريد النشر على جهاز أو إنشاء حزمة APK لإصدارها، فإن
برنامج Gradle المتوافق مع Gradle، والذي يتيح التحقق من الوسائط المتعددة الأصلية لجميع الوحدات التي تضع
minSdkVersion=21
أو أعلى.
تم نقل AAPT2 إلى مستودع Maven في Google.
اعتبارًا من الإصدار 3.2 من "استوديو Android"، أصبح مستودع Maven من Google هو مصدر AAPT2 (أداة حزم مواد العرض في Android 2) .
لاستخدام AAPT2، تأكَّد من أنّ لديك تبعية google()
في
ملف build.gradle
، كما هو موضح هنا:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
يحلّ الإصدار الجديد من AAPT2 العديد من المشاكل، بما في ذلك معالجة محسّنة ل الأحرف غير ASCII على نظام التشغيل Windows.
إزالة الإعدادات عند الطلب
تمت إزالة تفضيل الضبط عند الطلب من "استوديو Android".
لم يعُد "استوديو Android" يجتاز --configure-on-demand
.
الوسيطة إلى Gradle.
مساعد اتصال ADB
ميزة ADB Connection Assistant الجديدة إرشادات خطوة بخطوة لمساعدتك في إعداد جهاز واستخدامه عبر اتصال Android Debug Bridge (ADB).
لبدء تشغيل المساعد، اختر الأدوات > "مساعد الاتصال"
يوفر مساعد اتصال ADB التعليمات وعناصر التحكم في السياق قائمة بالأجهزة المتصلة في سلسلة من الصفحات في لوحة مساعد Google.
تحسينات على المحاكي
يمكنك الآن حفظ لقطات AVD (جهاز Android افتراضي) وتحميلها على في أي وقت في محاكي Android، ما يجعل من السهل عرض الجهاز الذي تتم محاكاته إلى حالة معروفة للاختبار. عند تعديل متوسّط مدة المشاهدة باستخدام هذه المدة يمكنك تحديد لقطة AVD المطلوب تحميلها عند بدء AVD.
تتوفّر الآن عناصر التحكّم الخاصة بحفظ لقطات AVD وتحميلها وإدارتها. ضمن علامة التبويب لقطات في نافذة عناصر التحكّم الموسَّعة في المحاكي.
لمعرفة التفاصيل، يُرجى الاطّلاع على اللقطات.
للحصول على معلومات إضافية عن الميزات الجديدة والتغييرات التي طرأت على المحاكي، يُرجى الاطّلاع على ملاحظات إصدار المحاكي.
3.1 (آذار (مارس) 2018)
يُعدّ الإصدار 3.1.0 من "استوديو Android" إصدارًا رئيسيًا يتضمّن مجموعة متنوعة من التحسينات والميزات الجديدة.
3.1.4 (آب/أغسطس 2018)
يتضمّن هذا التحديث لإصدار Android Studio 3.1 التغييرات والإصلاحات التالية:
- أصبح الإصدار المُضمَّن من Kotlin هو 1.2.50.
-
يتم إنشاء مشاريع جديدة باستخدام
kotlin-stdlib-jdk* artifacts
، بدلاً من عناصرkotlin-stdlib-jre*
، وهي نهائيًا. - تم تحسين تحليل قواعد ProGuard في R8.
- تم إصلاح الأخطاء التالية:
-
تعذّرت محاولة تشغيل فئة Kotlin الرئيسية مع ظهور خطأ:
"Error: Could not find or load main class..."
- دخل R8 في حلقة لانهائية أثناء تنفيذ تحسينات معينة.
- استخدام الأمر إعادة تشغيل الاختبارات الفاشلة في النافذة تشغيل في بعض الأحيان أدى إلى عرض الرسالة "لم يتم العثور على أي اختبارات" بشكل غير صحيح.
-
لم يتعامل D8 مع
invoke-virtual
من الحالات بشكل صحيح، يتسبب في حدوث عطل معVerifyError
:invoke-super/virtual can't be used on private method
-
كان مُجمِّع "ربط البيانات" يعتمد على إصدار قديم من
com.android.tools:annotations
. يستخدم المُجمِّع الآن التعليقات التوضيحية للأدوات من المشروع الأساسي عندما تكون متاحة. - يتعطّل "استوديو Android" أثناء عمليات نقل الأجزاء عند استخدام الشخصيين.
- تعطّل برنامج تصحيح الأخطاء عند تصحيح أخطاء تنسيق باستخدام مربّع نص.
- تعذّر على D8 قراءة بعض ملفات ZIP التي تحتوي على رموز خاصة.
3.1.3 (حزيران (يونيو) 2018)
يتضمّن هذا التحديث لإصدار Android Studio 3.1 إصلاحات للأخطاء التالية:
- أدّت عمليات تسرُّب الذاكرة إلى بطء Android Studio وعدم استجابته بعد استخدام "أداة تصميم التنسيق". يتضمّن هذا التحديث إصلاحات لمعظم هذه المشاكل. وننوي إصدار تحديث آخر قريبًا لمعالجة مزيد من حالات تسرب الذاكرة.
- وتعطلت بعض التطبيقات التي تم إنشاؤها باستخدام D8 على بعض الأجهزة اللوحية من Verizon Ellipsis.
-
تعذّر تثبيت التطبيقات التي تم إنشاؤها باستخدام D8 بسبب خطأ
INSTALL_FAILED_DEXOPT
على الأجهزة التي تعمل بالإصدار 5.0 من نظام التشغيل Android أو 5.1 (المستوى 21 أو 22 من واجهة برمجة التطبيقات). - بعض التطبيقات التي استخدمت مكتبة OkHttp وتم إنشاؤها باستخدام D8 على الأجهزة التي تعمل بنظام التشغيل Android 4.4 (المستوى 19 لواجهة برمجة التطبيقات).
-
قد يتعذّر أحيانًا بدء "استوديو Android"
ProcessCanceledException
أثناء إعداد الصف لـcom.intellij.psi.jsp.JspElementType
3.1.2 (نيسان (أبريل) 2018)
يتضمّن هذا التحديث للإصدار 3.1 من "استوديو Android" إصلاحات للأخطاء التالية:
- في بعض الحالات، يتم تعليق "استوديو Android" إلى أجل غير مسمى أثناء الخروج.
-
الإصدارات التي تم ضبطها باستخدام مجموعات المصادر مع ظهور الرسالة التالية عند تفعيل ميزة التشغيل الفوري:
"The SourceSet name is not recognized by the Android Gradle Plugin."
- عند تمكين ميزة التشغيل الفوري، فشلت إصدارات مشاريع Kotlin الجديدة عندما بواسطة الأمر Run.
-
أثناء تعديل ملف
build.gradle
، كان هناك في بعض الأحيان تأخير ملحوظ بين كتابة حرف وظهوره على الشاشة. -
حدثت حالات تعذُّر في عملية الإنشاء أثناء إزالة الترميز في بعض المشاريع التي تحتوي على أعداد كبيرة من الوحدات أو التبعيات الخارجية، مع ظهور رسالة الخطأ التالية :
"RejectedExecutionException: Thread limit exceeded replacing blocked worker"
- لم تتم مراعاة بعض قيم قائمة DEX الرئيسية في D8 والاستدعاءات الانعكاسية.
يتضمّن هذا التحديث أيضًا تغييرات تجعل تشغيل عمليات التحقّق من الأخطاء من Gradle أسرع بكثير في بعض السيناريوهات.
3.1.1 (نيسان/أبريل 2018)
يتضمّن هذا التحديث للإصدار 3.1 من "استوديو Android" إصلاحات للأخطاء التالية:
-
في بعض الحالات، عند فتح مشروع تم إنشاؤه في الإصدار 3.0 من "استوديو Android" للمرة الأولى في الإصدار 3.1 من "استوديو Android"، تمت إزالة مهمة Make المتوافقة مع Gradle من منطقة قبل الإطلاق في إعدادات "التشغيل/التصحيح". وكانت النتيجة أن المشروعات لم يتم إنشاؤها عندما تم النقر على الزر تشغيل أو تصحيح الأخطاء، ما تسبّب بدوره في الأعطال، مثل نشر حِزم APK غير صحيحة أو أعطال عند استخدام تشغيل فوري.
لحل هذه المشكلة، يضيف Android Studio 3.1.1 العلامة المصمَّمة على أساس Gradle المُهمة الخاصة بتهيئة التشغيل للمشروعات التي تنقصها هذا الإدخال. يحدث هذا التعديل بعد المزامنة الأولى مع Gradle عند تحميل المشروع.
- تعطّل برنامج تصحيح الأخطاء عند تصحيح الأخطاء في تنسيق باستخدام مربّع نص إذا كان ذلك متقدمًا. تم تفعيل إنشاء الملفات التعريفية.
- توقّف Android Studio عن العمل بعد النقر على إنشاء الصيغ.
- تم استخراج ملفات AAR (أرشيف Android) مرّتين، مرة خلال Gradle عملية المزامنة ومرة واحدة أثناء عملية إنشاء Gradle.
- لم تتوفّر بعض العناصر في بعض ملفات المتجهات القابلة للرسم التي تم استيرادها من ملفات SVG.
-
تم تعديل التحذير بشأن إيقاف إعدادات التبعيات
compile
نهائيًا من خلال تقديم إرشادات أفضل بشأن إعداداتimplementation
وapi
. بالنسبة تفاصيل حول التوقف عن استخدامcompile
التهيئة، يمكنك مراجعة مستندات لعمليات ضبط التبعية الجديدة
الترميز/بيئة التطوير المتكاملة
IntelliJ 2017.3.3
تم تعديل بيئة تطوير Android Studio الأساسية من خلال تحسينات من IntelliJ IDEA في الإصدار 2017.3.3. تشمل التحسينات تحليلًا أفضل لمسار التحكّم في المجموعات والسلاسل، وتحسينًا في استنتاج ما إذا كانت قيمة المتغيّر خالية من القيمة، وإصلاحات سريعة جديدة، وغير ذلك الكثير.
لمعرفة التفاصيل، يُرجى الاطّلاع على ملاحظات إصدار JetBrains لإصدارات IntelliJ IDEA. 2017.2 و 2017.3، باسم بالإضافة إلى ملاحظات إصدار JetBrains التحديثات المتعلقة بإصلاح الأخطاء
تحسينات تحرير SQL مع غرفة
عند استخدام مكتبة قاعدة بيانات Room، يمكنك الاستفادة من العديد من التحسينات على ميزة تعديل لغة الاستعلامات البنيوية (SQL):
- يفهم إكمال الرموز البرمجية ضمن
Query
جداول SQL (الكيانات) والأعمدة ومَعلمات طلبات البحث والأسماء البديلة والدمج والاستعلامات الفرعية وجُمل WITH. - يعمل تمييز بناء جملة SQL الآن.
- يمكنك النقر بزرّ الماوس الأيمن على اسم جدول في SQL وإعادة تسميته، ما يؤدي أيضًا إلى إعادة كتابة رمز Java أو Kotlin المقابل (بما في ذلك، على سبيل المثال، نوع الإرجاع للاستعلام). تعمل إعادة التسمية في الاتجاه الآخر، أيضًا، لذا فإنّ إعادة تسمية فئة Java أو حقل Java تؤدي إلى إعادة كتابة رمز SQL المقابل.
- يتم عرض استخدامات SQL عند استخدام البحث عن الاستخدامات (انقر بزر الماوس الأيمن اختر العثور على الاستخدامات من قائمة السياق).
- للانتقال إلى تصريح كيان SQL برمز Java أو Kotlin، يمكنك الضغط مع الاستمرار على Control (Command في Mac) أثناء النقر على الكيان.
للحصول على معلومات حول استخدام SQL مع الغرفة، يمكنك الاطّلاع على حفظ البيانات محليًا قاعدة البيانات باستخدام الغرفة.
تعديلات على ربط البيانات
يتضمّن هذا التحديث العديد من التحسينات على ربط البيانات:
-
يمكنك الآن استخدام كائن
LiveData
كحقل قابل للرصد في تعبيرات ربط البيانات. تتضمّن فئةViewDataBinding
الآن طريقةsetLifecycle()
جديدة تستخدمها لمراقبة عناصرLiveData
. -
تشير رسالة الأشكال البيانية
ObservableField
يمكن للصف الآن قبول غير ذلكObservable
الكائنات في الدالة الإنشائية. -
يمكنك معاينة مُجمِّع تدريجي جديد لفئات ربط البيانات . للحصول على تفاصيل هذا المحول الجديد والتعليمات الخاصة بتمكين هو، انظر الإصدار 2 من محوّل ربط البيانات
تشمل مزايا المُجمِّع الجديد ما يلي:
-
يتم إنشاء فئات
ViewBinding
بواسطة "المكوّن الإضافي لنظام Gradle المتوافق مع Android" قبل مترجم Java. - تحتفظ المكتبات بفئاتها الملزمة التي تم إنشاؤها عند تشغيل التطبيق بدلاً من إنشائها في كل مرة ويمكن أن يؤدي ذلك إلى تحسين الأداء بشكل كبير في المشاريع المتعدّدة الوحدات.
-
يتم إنشاء فئات
محوّل وأداة Gradle
D8 هو دالة DEX التلقائية. برنامج تجميع
يُستخدم برنامج التحويل البرمجي D8 الآن بشكل افتراضي لإنشاء رمز بايت DEX.
يوفر برنامج التحويل البرمجي الجديد DEX هذا العديد من المزايا، بما في ذلك التالي:
- فهرسة أسرع
- استخدام أقل للذاكرة
- تحسين عملية إنشاء الرموز (تسجيل التخصيص بشكل أفضل وسلسلة أكثر ذكاءً) الجداول)
- تجربة تصحيح أفضل للأخطاء عند التنقّل في الرموز البرمجية
لست بحاجة إلى إجراء أي تغييرات على الرمز البرمجي أو سير العمل في التطوير للاستفادة من هذه المزايا، ما لم تكن قد أوقفت compiling D8 يدوياً في السابق.
إذا ضبطت android.enableD8
على false
في
gradle.properties
، يمكنك إما حذف هذه العلامة أو ضبطها على
true
:
android.enableD8=true
للحصول على التفاصيل، يمكنك مراجعة المحول البرمجي لـ DEX جديد:
تزايدي إزالة السكريات
بالنسبة للمشروعات التي تستخدم ميزات لغة Java 8 يتم تمكين الإزالة التزايدية بشكل افتراضي، مما قد يحسّن أوقات.
تحوّل عملية إزالة السكر التصويري السكر النحوي إلى شكل يمكن للمجمِّع معالجته بكفاءة أكبر.
يمكنك تعطيل الإزالة التزايدية من خلال تحديد ما يلي في
ملف gradle.properties
لمشروعك:
android.enableIncrementalDesugaring=false
نافذة إخراج مبسّطة
تم استبدال وحدة تحكُّم Gradle بنموذج Build التي تحتوي على علامتَي التبويب مزامنة وإنشاء.
لمعرفة تفاصيل عن كيفية استخدام نافذة الإنشاء الجديدة والمبسّطة، يُرجى الاطّلاع علىمراقبة عملية الإنشاء .
عمليات التحديث والفهرسة المجمّعة العمليات المتزامنة
أصبحت عمليات فهرسة Gradle وفهرسة IDE أكثر كفاءة بكثير، تقليل الوقت الضائع في العديد من عمليات الفهرسة المتكررة.
C++ وLLDB
لقد أدخلنا العديد من التحسينات على الجودة والأداء في الترميز والمزامنة والإنشاء وتصحيح الأخطاء في تطوير C++. تشمل التحسينات ما يلي:
-
إذا كنت تعمل على مشاريع C++ كبيرة، من المفترض أن تلاحظ تحسُّنًا كبيرًا في تقليل الوقت الذي تقضيه في إنشاء الرموز. وينخفض وقت المزامنة أيضًا بشكلٍ ملحوظ للمشاريع الكبيرة.
-
تم تحسين الأداء عند الإنشاء والمزامنة باستخدام أداة CMake من خلال إعادة استخدام أكثر حسمًا للنتائج المخزنة مؤقتًا.
-
إضافة أدوات التنسيق ("الطابعات الجميلة") لمزيد من هياكل بيانات C++ إلى تسهيل قراءة مخرجات LLDB.
-
لا يعمل LLDB الآن إلا مع الإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات) والإصدارات الأحدث.
ملاحظة: يمكن إجراء تصحيح الأخطاء المحلي باستخدام الإصدار Android Studio 3.0 أو أكبر لا يعمل على Windows 32 بت. إذا كنت تستخدم نظام التشغيل Windows 32 بت و كنت بحاجة إلى تصحيح أخطاء الرموز البرمجية الأصلية، استخدِم الإصدار 2.3 من "استوديو Android".
Kotlin
تمت ترقية لغة Kotlin إلى الإصدار 1.2.30
يشمل الإصدار Android Studio 3.1 لغة كوتلين الإصدار 1.2.30.
تم تحليل رمز Kotlin الآن باستخدام فحص أداة Lint لسطر الأوامر
يمكن تشغيل أداة Lint من سطر الأوامر الآن في تحليل فئات Kotlin.
لكل مشروع ترغب في تشغيل أداة Lint عليه،
خبير Google
مستودع في المستوى الأعلى من build.gradle
الملف. تم تضمين مستودع Maven للمشاريع التي تم إنشاؤها في IDE
Android Studio 3.0 والإصدارات الأحدث.
أدوات الأداء
عيّنات من عمليات C++ الأصلية باستخدام أداة تحليل أداء وحدة المعالجة المركزية
أداة تحليل وحدة المعالجة المركزية (CPU) الآن إعدادًا تلقائيًا لتسجيل بيانات آثار الأنشطة المقترَحة في تطبيقك سلاسل المحادثات الأصلية. يمكنك استخدام هذه الإعدادات من خلال نشر تطبيقك على جهاز يعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) أو أعلى ثم اختيار تم أخذ عيّنة (الأصلية) من تسجيل محلّل وحدة المعالجة المركزية (CPU) القائمة المنسدلة للإعدادات. بعد ذلك، تسجيل افحص آثار الأنشطة كما تفعل عادةً.
يمكنك تغيير الإعدادات التلقائية، مثل فاصل أخذ العينات، من خلال إنشاء إعدادات تسجيل.
للرجوع إلى تتبع سلاسل محادثات Java، حدد إما أخذ عيّنات (Java) أو باستخدام الآلة (Java) التكوين.
فلترة عمليات تتبُّع وحدة المعالجة المركزية (CPU) والذاكرة نتائج التخصيص ولقطات لأجزاء من الذاكرة
محلل وحدة المعالجة المركزية (CPU) تتضمّن أداة تحليل الذاكرة ما يلي: هي ميزة بحث تتيح لك فلترة النتائج من تسجيل طريقة أو عمليات التتبّع أو تخصيصات الذاكرة أو تسجيل لقطات لأجزاء من الذاكرة

للبحث، انقر على فلترة.
في أعلى الجانب الأيسر من الجزء، اكتب
استعلامك، واضغط على Enter.
ملاحظة: يمكنك أيضًا فتح حقل البحث من خلال الضغط على Control + F. (Command + F في نظام التشغيل Mac).
في علامة التبويب مخطّط مسار استدعاء الدوال البرمجية ضمن "أداة تحليل وحدة المعالجة المركزية"، يتم تمييز تسلسلات الاستدعاء التي تتضمّن methods مرتبطة بطلبك البحثي ونقلها إلى الجانب الأيسر من الرسم البياني.
لمزيد من المعلومات حول الفلترة حسب الطريقة أو الفئة أو اسم الحزمة، يمكنك الاطّلاع على تسجيل عمليات تتبُّع الطرق وفحصها
علامة التبويب "الطلب" في "أداة تحليل الشبكة"
محلّل الشبكة تشتمل الآن على علامة التبويب طلب التي تقدم تفاصيل عن الشبكة الطلبات خلال الجدول الزمني المحدد. في الإصدارات السابقة، كانت الشبكة لم يقدّم المحلل سوى معلومات حول استجابات الشبكة.
عرض سلسلة المحادثات في محلّل الشبكة
بعد تحديد جزء من الجدول الزمني في محلِّل الشبكة، يمكنك اختيار أحد علامات التبويب التالية للاطّلاع على مزيد من التفاصيل حول نشاط الشبكة أثناء ذلك الإطار الزمني:
- عرض الاتصال: يوفر المعلومات نفسها المتوفرة في الإصدارات السابقة من "استوديو Android": يسرد الملفات التي تم إرسالها أو استلامها خلال الجزء المحدد من المخطط الزمني في جميع سلاسل وحدة المعالجة المركزية (CPU) لتطبيقك. بالنسبة كل طلب، يمكنك فحص الحجم والنوع والحالة ومدة النقل.
- عرض سلسلة المحادثات: يعرض نشاط الشبكة لكل سلسلة من سلاسل وحدة المعالجة المركزية (CPU) لتطبيقك. تتيح لك طريقة العرض هذه التحقّق من سلاسل المحادثات في تطبيقك المسؤولة. لكل طلب شبكة.

أداة فحص التنسيقات
حصلت أداة فحص التنسيق على ميزات جديدة بما في ذلك بعض الوظائف التي كان يوفرها أدوات العرض الهرمي وأدوات Pixel Perfect:
- أزرار التكبير أو التصغير واختصارات لوحة المفاتيح للتنقّل وفحص التنسيقات
- تراكب شبكة المراجع
- إمكانية تحميل صورة مرجعية واستخدامها كصورة مركّبة (مفيدة لمقارنة التنسيق بنموذج واجهة مستخدم)
- عرض معاينة للبنية الفرعية لعزل عرض في تنسيق معقد

أداة تعديل التنسيق
تم إجراء العديد من التحسينات على لوحة الألوان في أداة تعديل التنسيق :
- إعادة تنظيم الفئات للعروض والتنسيقات
- فئة شائعة جديدة لطرق العرض والتنسيقات، والتي يمكنك الإضافة إليها باستخدام أمر المفضلة.
- محسَّنة البحث عن مشاهدات وتنسيقات.
- الأوامر الجديدة لـ فتح المستندات الخاصة بعرض أو عنصر تنسيق محدّدَين.
يمكنك استخدام طريقة العرض الجديدة تحويل الملف الشخصي. في شجرة المكونات أو محرر التصميم لتحويل طريقة عرض أو تخطيط إلى نوع آخر من طرق العرض أو التخطيط.
يمكنك الآن بسهولة إنشاء قيود على العناصر القريبة من طريقة العرض المحددة باستخدام
جديد إنشاء عملية ربط
في أداة فحص طرق العرض أعلى نافذة السمات.
التشغيل والتشغيل الفوري
سلوك عملية استخدام الاختيار نفسه في المستقبل الإطلاقات في تحديد هدف النشر جعل مربع الحوار أكثر اتساقًا. في حال تفعيل الخيار استخدام الاختيار نفسه، لن يتم فتح مربّع الحوار اختيار هدف نشر التطبيق إلا في المرة الأولى التي تستخدم فيها الأمر تشغيل إلى أن يصبح الجهاز المحدّد غير متصل.
عند استهداف جهاز يعمل بالإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات) أو إصدار أحدث، يمكن أن تُنفِّذ ميزة التشغيل الفوري التغييرات على الموارد بدون إعادة تشغيل التطبيق. هذا هو نظرًا لأن الموارد تكون مضمّنة في حزمة APK مجزّأة.
المحاكي
لمعرفة تفاصيل الميزات الجديدة والتي تم تغييرها في المحاكي منذ Android الإصدار 3.0 من "استوديو YouTube"، يمكنك الاطّلاع على ملاحظات إصدار "محاكي Android" من الإصدار 27.0.2 باستخدام الإصدار 27.1.12.
تشمل التحسينات الرئيسية ما يلي:
- لقطات بدء سريعة لحفظ حالة المحاكي وبدء التشغيل بشكل أسرع، مع إمكانية استخدام الأمر Save now (الحفظ الآن) لحفظ حالة بدء مخصّصة
- شاشة للمحاكي بدون نوافذ
- صور نظام التشغيل لنظام Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) وAndroid 8.1 (المستوى 27 من واجهة برمجة التطبيقات) ومعاينة المطوّر لنظام التشغيل Android P
واجهة المستخدم وتجربة المستخدم التحسينات
المزيد من التلميحات واختصارات لوحة المفاتيح ورسائل مفيدة
لقد أضفنا تلميحات وتراكبات مفيدة للرسائل في عدة أماكن. من خلال "استوديو Android"
للاطّلاع على اختصارات لوحة المفاتيح للعديد من الأوامر، ما عليك سوى تثبيت مؤشر الماوس فوق زر إلى أن يظهر تلميح.
الأدوات > تمت إزالة قائمة Android.
تمت إزالة القائمة الأدوات > Android. الأوامر التي كانت من قبل ضمن هذه القائمة قد تم نقلها.
- تم نقل العديد من الأوامر مباشرةً إلى قسم الأدوات. القائمة.
- تم نقل الأمر مزامنة المشروع مع ملفات Gradle إلى قائمة ملف.
- تمت إزالة الأمر مراقبة الجهاز، لأنه الموضحة أدناه.
ميزة "مراقبة الجهاز" متوفّرة من سطر الأوامر
في الإصدار 3.1 من Android Studio، أصبح دور "مراقبة الجهاز" أقل مما كان عليه في الإصدارات السابقة. في كثير من الحالات، فإن الوظائف المتوفرة من خلال يتم توفير ميزة "مراقبة الجهاز" الآن من خلال أدوات جديدة ومحسّنة.
يمكنك الاطّلاع على مستندات أداة مراقبة الجهاز لـ لاستدعاء شاشة الجهاز من سطر الأوامر تفاصيل الأدوات المتوفرة من خلال Device Monitor.
3.0 (تشرين الأول/أكتوبر 2017)
"استوديو Android" 3.0.0 هو إصدار رئيسي يتضمّن مجموعة متنوعة من التحسينات والميزات الجديدة.
مستخدمو macOS: إذا كنت تحدِّث إصدارًا قديمًا من "استوديو Android"، اتّبِع الخطوات التالية: قد يظهر لك مربع حوار خطأ التحديث مفاده "بعض التعارضات كانت الموجودة في منطقة التثبيت". ما عليك سوى تجاهل هذا الخطأ والنقر على إلغاء لاستئناف التثبيت.
3.0.1 (تشرين الثاني (نوفمبر) 2017)
هذا تحديث ثانوي للإصدار Android Studio 3.0 يتضمّن خطأً عامًا إصلاحات وتحسينات في الأداء.
المكوّن الإضافي لنظام Android لإصدار Gradle 3.0.0
مكوّن Android الإضافي الجديد لنظام Gradle تتضمن مجموعة متنوعة من التحسينات والميزات الجديدة، ولكنها تحسن بشكل أساسي وإنشاء الأداء للمشروعات التي تحتوي على عدد كبير من الوحدات. عند استخدام مكوّن الدُفعة الجديد مع هذه المشاريع الكبيرة، من المفترض أن تلاحظ ما يلي:
- أوقات أسرع لإعداد عملية الإنشاء بسبب حلّ جديد يتأخّر في حلّ التبعيات
- درجة دقة الاعتمادية الواعية لخيارات المنتج للمشروعات والمتغيرات التي تقوم بإنشائها فقط.
- أوقات إنشاء تزايدية وسريعة عند تطبيق تغييرات بسيطة على الرمز أو الموارد.
ملاحظة: تطلّبت هذه التحسينات إجراء تغييرات كبيرة تؤدي إلى إيقاف بعض سلوكيات الإضافة ولغة وصف البيانات وواجهات برمجة التطبيقات. قد تتطلب الترقية إلى الإصدار 3.0.0 تغييرات على ملفات التصميم وإضافات Gradle الإضافية.
يتضمّن هذا الإصدار أيضًا ما يلي:
- الدعم لنظام Android 8.0.
- إمكانية إنشاء حِزم APK منفصلة استنادًا إلى مراجع اللغة
- إتاحة مكتبات Java 8 وميزات لغة Java 8 (بدون مُجمِّع Jack)
- إتاحة استخدام الإصدار 1.0 من مكتبة دعم اختبارات Android (أداة اختبارات Android ومنسّق اختبارات Android)
- تم تحسين سرعات إنشاء ألعاب ndk-build وcmake.
- تم تحسين سرعة مزامنة Gradle.
- أصبح AAPT2 مفعّلاً تلقائيًا الآن.
- أصبح استخدام
ndkCompile
الآن أكثر تقييدًا. بدلاً من ذلك، يجب عليك النقل إلى باستخدام CMake أو ndk-build لتجميع رمز أصلي تريد تجميعه إلى ملف APK. لمزيد من المعلومات، يُرجى قراءة نقل البيانات من ndkcompile
لمزيد من المعلومات عن التغييرات التي تم إجراؤها، يُرجى الاطّلاع على ملاحظات إصدار "المكوّن الإضافي لنظام Gradle المتوافق مع Android" .
إذا كنت مستعدًا للترقية إلى المكون الإضافي الجديد، راجع نقل البيانات إلى مكوّن Android الإضافي لنظام Gradle 3.0.0
توافق مع لغة Kotlin
يمكنك دمج Kotlin في مشروعك من خلال تحويل ملف Java إلى Kotlin. (انقر فوق الكود > تحويل ملف Java إلى ملف Kotlin) أو من خلال إنشاء ملف بلغة Kotlin- تمكين المشروع باستخدام معالج مشروع جديد.
عليك أولاً يمكنك الاطّلاع على كيفية إضافة لغة Kotlin إلى مشروعك.

إتاحة ميزات اللغة في Java 8
يمكنك الآن استخدام بعض ميزات اللغة في Java 8 المكتبات التي تم إنشاؤها باستخدام Java 8. لم يعُد Jack مطلوبًا، ويجب أولاً إيقاف Jack للاستفادة من ميزة التوافق المحسَّنة مع Java 8 المضمّنة في سلسلة الأدوات التلقائية.
لتحديث مشروعك لتتوافق مع مجموعة أدوات لغة Java 8 الجديدة، عدِّل التوافق مع المصدر والتوافق مع الهدف إلى 1.8 في مربّع الحوار بنية المشروع (انقر على ملف > بنية المشروع). لمزيد من المعلومات، يمكنك الاطّلاع على كيفية استخدام ميزات لغة Java 8

محلّل Android
يحلّ محل أداة "مراقبة Android" ويوفّر مجموعة جديدة من الأدوات لقياس استخدام وحدة المعالجة المركزية (CPU) والذاكرة والشبكة في تطبيقك في الوقت الفعلي. يمكنك إجراء تتبع طريقة مستندة إلى العينة لوقت التعليمة البرمجية التنفيذ، وتسجيل لقطات لأجزاء من الذاكرة، وعرض تخصيصات الذاكرة، وفحص التفاصيل من الملفات المنقولة عبر الشبكة.
للفتح، انقر على عرض > نوافذ الأدوات > محلّل تطبيقات Android (أو انقر على أداة تحليل Android في شريط الأدوات).
يعرض المخطط الزمني للحدث في أعلى النافذة أحداث اللمس والأحداث الرئيسية. والضغط عليه وتتغير الأنشطة حتى يكون لديك المزيد من السياق لفهم أحداث الأداء في الجدول الزمني.
ملاحظة: تم نقل عرض Logcat أيضًا إلى نافذة منفصلة (كان سابقًا داخل "أداة مراقبة Android" التي تمت إزالتها).

من المخطط الزمني الإجمالي لأداة تحليل أداء Android، انقر على المخططات الزمنية لوحدة المعالجة المركزية أو الذاكرة أو الشبكة للوصول إلى أدوات تحليل الأداء المقابلة.
محلّل وحدة المعالجة المركزية (CPU)
يساعدك محلّل وحدة المعالجة المركزية (CPU) على تحليل استخدام سلسلة وحدة المعالجة المركزية (CPU) لتطبيقك من خلال تشغيل عينة أو عملية تتبع وحدة المعالجة المركزية (CPU). بعد ذلك، يمكنك تحديد وحلّ مشاكل أداء وحدة المعالجة المركزية (CPU) باستخدام مجموعة متنوعة من طرق عرض البيانات والفلاتر.
لمزيد من المعلومات، راجع دليل محلّل وحدة المعالجة المركزية (CPU).

محلّل الذاكرة
يساعدك "أداة تحليل الذاكرة" في تحديد عمليات تسرُّب الذاكرة وتغييرها التي يمكن أن تؤدي إلى حدوث تقطُّع في الأداء أو تجمُّد أو حتى أعطال في التطبيق. وتعرض رسمًا بيانيًا في الوقت الفعلي استخدام التطبيقات للذاكرة، أو يسمح لك بالتقاط لقطات لأجزاء من الذاكرة، وفرض تجميع البيانات المهملة، المخصصة للذاكرة وتتبعها.
لمزيد من المعلومات، يُرجى الاطّلاع على دليل "أداة تحليل الذاكرة".

محلّل الشبكة
يسمح لك Network Profiler بمراقبة نشاط الشبكة لتطبيقك، وفحص حمولة كل طلب من طلبات الشبكة، ثم الرجوع إلى الرمز الذي أنشأ طلب الشبكة.
لمزيد من المعلومات، يُرجى الاطّلاع على دليل محلّل الشبكة.

تحليل ملفات APK وتصحيح الأخطاء
يتيح لك "استوديو Android" الآن إنشاء ملفات شخصية وتصحيح أي أخطاء APK بدون الحاجة إلى إنشائها من مشروع على "استوديو Android"، طالما صُمِّمت حِزمة APK لتفعيل تصحيح الأخطاء يمكنك الوصول إلى رموز تصحيح الأخطاء وملفات المصدر.
للبدء، انقر على الملف الشخصي أو تصحيح أخطاء حِزم APK من الشاشة الترحيبية في Android Studio. أو إذا كان لديك مشروع مفتوح بالفعل، فانقر على ملف > ملف APK أو تصحيح أخطائه من شريط القوائم. ويؤدي ذلك إلى عرض ملفات APK التي تم فك ضغطها، ولكنها لا تؤدي إلى تفكيك الرمز البرمجي. لذلك، لإضافة نقاط توقُّف بشكل صحيح وعرض عمليات تتبُّع تسلسل استدعاء الدوال البرمجية، عليك إرفاق ملفات مصدر Java ورموز تصحيح الأخطاء الأصلية.
لمزيد من المعلومات، يُرجى مراجعة الملف الشخصي وتصحيح الأخطاء حِزم APK المُنشأة مسبقًا.

مستكشف ملفات الجهاز
يتيح لك تطبيق "مستكشف ملفات الجهاز" الجديد فحص نظام الملفات في جهازك المتصل ونقْل الملفات بين الجهاز والكمبيوتر. وهذه الأداة تحلّ محلّ أداة نظام الملفات المتوفّرة في DDMS.
للفتح، انقر على عرض > نوافذ الأدوات > مستكشف ملفات الجهاز:
لمزيد من المعلومات، يُرجى الاطّلاع على دليل "مستكشف ملفات الجهاز".

دعم التطبيقات الفورية
تتيح لك ميزة "تطبيقات Android الفورية" الجديدة إنشاء تطبيقات فورية في مشروعك باستخدام نوعَين جديدَين من الوحدات: وحدات التطبيقات الفورية ووحدات الميزات (تتطلّب هذه الوحدات تثبيت حزمة تطوير البرامج (SDK) لتطبيقات Android الفورية).

يتضمّن "استوديو Android" أيضًا إجراءًا جديدًا لإعادة البناء إلى وحدات لمساعدتك في إضافة دعم للتطبيقات الفورية في مشروع حالي. على سبيل المثال، إذا كنت تريد لإعادة هيكلة مشروعك لوضع بعض الفئات في وحدة ميزات التطبيق الفوري، اختَر الفئات في نافذة المشروع وانقر على إعادة ضبط الإعدادات > التقسيم إلى وحدات. في مربّع الحوار الذي يظهر، اختَر الوحدة التي يجب أن تنتقل إليها الصفوف ثم انقر على حسنًا.
وعندما تكون مستعدًا لاختبار تطبيقك الفوري، يمكنك إنشاء وحدة التطبيق الفوري على جهاز متصل من خلال تحديد عنوان URL للتطبيق الفوري ضمن تشغيل تهيئة التشغيل الخيارات: اختَر تشغيل > عدِّل الإعدادات واختَر وحدة التطبيق الفوري، ثم اضبط عنوان URL. ضمن خيارات الإطلاق.
لمزيد من المعلومات، يُرجى مراجعة تطبيقات Android الفورية:
وحدات Android Things
قوالب Android Things الجديدة في معالجَي "مشروع جديد" و"وحدة جديدة" لمساعدتك في البدء في تطوير تطبيقات لأجهزة إنترنت الأشياء التي تعمل بنظام التشغيل Android
لمزيد من المعلومات، يُرجى الاطّلاع على كيفية إنشاء مشروع Android Things.
معالج الرموز التكيُّفية
تتيح أداة Image Asset Studio الآن استخدام الرسومات المتّجهة للرسم إنشاء رموز مشغّل تطبيقات تكيُّفية Android 8.0 مع إنشاء رموز تقليدية في الوقت نفسه (الرموز "القديمة") للأجهزة القديمة.
للبدء، انقر بزر الماوس الأيمن على مجلّد res في مشروعك، ثم انقر على جديد > مادة عرض الصورة. في نافذة Asset Studio، اختَر رموز مشغّل التطبيقات (التكيّفية والقديمة) كنوع الرمز.
ملاحظة: يجب ضبط قيمة compileSdkVersion
على 26 أو أعلى لاستخدام مشغّل التطبيقات التكيُّفي.
الأيقونات.
لمزيد من المعلومات، اطّلِع على مقالة الرموز التكيُّفية.

دعم موارد الخطوط
لدعم موارد الخطوط الجديدة في Android 8.0، يشتمل "استوديو Android" على أداة اختيار موارد الخطوط للمساعدة في وضع الخطوط في تطبيقك أو ضبطها لمشروعك لتنزيل الخطوط على الجهاز (عند توفرها). التخطيط يمكن لبرنامج التحرير أيضًا معاينة الخطوط في التنسيق.
لتجربة الخطوط القابلة للتنزيل، تأكَّد من أنّ جهازك أو المحاكي يعملان باستخدام إصدار 11.2.63 من "خدمات Google Play" أو إصدار أحدث. لمزيد من المعلومات، يُرجى الاطّلاع على الخطوط القابلة للتنزيل:

مساعد فهرسة التطبيقات على Firebase
تم تعديل "مساعِد Firebase" بإضافة دليل توجيهي جديد لاختبار فهرسة التطبيقات . لفتح "مساعِد Google"، اختَر الأدوات > Firebase. بعد ذلك، اختَر فهرسة التطبيقات > اختبار "فهرسة التطبيقات"
يتضمن البرنامج التعليمي لاختبار فهرسة المحتوى العام والشخصي:
- في الخطوة 2، انقر على معاينة نتائج البحث للتحقّق من أنّ عناوين URL تظهر في نتائج بحث Google.
- في الخطوة 3، انقر على التحقق من عدم وجود أخطاء للتحقّق من أنّ المستند القابل للفهرسة تمت إضافة عناصر في تطبيقك إلى فهرس المحتوى الشخصي.
أداة مساعدة روابط التطبيقات المتوافقة مع Android
مساعد روابط التطبيقات تم تحديث بالإمكانيات الجديدة التالية:
-
أضِف اختبارات عناوين URL لكل عملية ربط لعنوان URL من أجل التأكد من فلاتر الأهداف. التعامل مع عناوين URL الفعلية.
ويمكنك أيضًا تحديد اختبارات عناوين URL هذه يدويًا باستخدام
<tools:validation>
. الموضحة أدناه. -
أنشئ ملف روابط إلى مواد عرض رقمية يتضمّن إدخال الكائن المناسب إلى التي تدعم Google Smart Lock وأضِف علامة
<meta-data>
المسماةasset_statements
المقابلة إلى ملف البيان.

مدقق فلتر intent لعنوان URL
يتيح "استوديو Android" الآن استخدام علامة خاصة في ملف البيان تتيح لك لاختبار عناوين URL لفلاتر الأهداف. وهذه هي العلامات نفسها التي تستخدمها روابط التطبيقات بإمكان "مساعد Google" إنشاء فيديوهات نيابةً عنك.
للإعلان عن عنوان URL تجريبي
بالنسبة إلى فلتر أهداف، أضِف عنصر <tools:validation>
إلى جانب
العنصر <intent-filter>
المقابل. مثلاً:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
تأكَّد أيضًا من تضمين xmlns:tools="http://schemas.android.com/tools"
في
العلامة <manifest>
.
إذا لم يجتاز أيّ من عناوين URL الاختبارية تعريف فلتر الأهداف، سيظهر خطأ فحص أخطاء. لا يزال هذا الخطأ يتيح لك إنشاء صيغ مختلفة لتصحيح الأخطاء لكنه سيعطل تصاميم إصدارك.

أداة تعديل التنسيق
تم تعديل محرِّر التنسيق مع عدد من التحسينات، منها ما يلي:
- تصميم جديد لشريط الأدوات ورموزه
- تم تعديل التنسيق في شجرة المكوّنات.
- إدخالات محسنة للعرض والسحب والإفلات.
- لوحة أخطاء جديدة أسفل المحرر تعرض جميع المشاكل المتعلقة بالاقتراحات (إذا كان متاحًا).
- تحسينات متنوّعة على واجهة المستخدم لإنشاء التطبيقات باستخدام
ConstraintLayout
، بما في ذلك ما يلي:- ميزة جديدة لـ إنشاء حواجز
- دعم جديد لإنشاء مجموعات: في شريط الأدوات، اختَر الإرشادات > إضافة مجموعة (يجب توفُّر الإصدار ConstraintLayout 1.1.0 الإصدار التجريبي 2) أو أعلى)
- واجهة مستخدم جديدة لإنشاء سلاسل: اختَر طرق عرض متعددة، ثم انقر بزر الماوس الأيمن. واختَر سلسلة.

أداة فحص التنسيق
تتضمن أداة فحص التنسيق تحسينات لتسهيل تصحيح الأخطاء في تنسيقات تطبيقك، بما في ذلك تجميع المواقع في فئات مشتركة ووظائف بحث جديدة في كليهما لوح عرض الشجرة والخصائص

أداة تحليل APK
يمكنك الآن استخدام أداة "تحليل APK" من سطر الأوامر باستخدام
apkanalyzer
.
تم أيضًا تحديث "أداة تحليل حِزم APK" وإضافة التحسينات التالية:
- بالنسبة إلى حِزم APK التي تم إنشاؤها باستخدام ProGuard، يمكنك تحميل ملفات تعيين ProGuard التي تضيف
الإمكانات لعارض DEX، بما في ذلك:
- العُقد المكتوبة بخط غامق للإشارة إلى أنّه يجب عدم إزالة العُقد عند رمز تقليص.
- زر لإظهار العُقد التي تمت إزالتها أثناء عملية التقليص.
- زر يستعيد الأسماء الأصلية للعُقد في العرض التدرّجي للحساب التي تم تشويشها بواسطة ProGuard.
- يعرض عارض DEX الآن تأثير الحجم المقدر لكل حزمة وفئة .
- خيارات فلترة جديدة في الأعلى لإظهار الحقول والطرق وإخفائها
- في العرض التدرّجي للحساب، تظهر العُقد التي تمثّل مراجع غير محدّدة في ملف DEX. بخط مائل.
لمزيد من المعلومات، يُرجى الاطّلاع على تحليل إنشاءك باستخدام أداة تحليل حِزم APK.
معاينة المحول البرمجي لـ D8 DEX
يحتوي الإصدار Android Studio 3.0 على برنامج تجميع DEX جديد اختياري يُسمى D8. سيحلّه Compiler D8 في النهاية، ولكن يمكنك تفعيله الآن.
يؤثر تجميع DEX مباشرةً في وقت إنشاء تطبيقك وحجم ملف.dex
وأداء وقت التشغيل. وعند مقارنة المحول البرمجي لـ D8 الجديد
برنامج تجميع DX الحالي، يجمع D8 بشكل أسرع ويخرج ملفات .dex
أصغر، بينما
تحقّق من الأداء نفسه أو أفضل لوقت تشغيل التطبيق
لتجربة هذه الميزة، عليك ضبط ما يلي في ملف gradle.properties
الخاص بمشروعك:
android.enableD8=true
لمزيد من المعلومات، يُرجى الاطّلاع على مشاركة المدونة حول التجميع في D8.
مستودع Maven من Google
يستخدم "استوديو Android" الآن مستودع Maven من Google تلقائيًا بدلاً من الاعتماد على "مدير حِزم تطوير البرامج (SDK) لنظام التشغيل Android" للحصول على تحديثات لـ "مكتبة دعم Android"، "خدمات Google Play" وFirebase والتبعيات الأخرى. هذا يسهل تحديث مكتباتك باستمرار، خاصةً عند استخدام نظام تكامل مستمر (CI).
تتضمّن جميع المشاريع الجديدة الآن مستودع Google Maven تلقائيًا. لتعديل
مشروعك الحالي، أضِف google()
في كتلة repositories
منملف
build.gradle
ذات المستوى الأعلى:
allprojects {
repositories {
google()
}
}
يمكنك الاطّلاع على مزيد من المعلومات حول مستودع Maven من Google هنا.
تغييرات أخرى
- لم يعد تصحيح الأخطاء الأصلي في "استوديو Android" متوافقًا مع نظام التشغيل Windows 32 بت. وقد اخترنا التركيز على أنظمة أساسية أخرى لأنّ عددًا قليلاً جدًا من المطوّرين يستخدمونها. هذه المنصة. إذا كنت تستخدم نظام التشغيل Windows 32 بت وكنت تخطط لتصحيح الأخطاء المستخدم، عليك مواصلة استخدام الإصدار 2.3 من "استوديو Android".
- تمت ترقية بيئة التطوير المتكاملة (IDE) إلى IntelliJ 2017.1.2، والذي يضيف عددًا من الميزات الجديدة من 2016.3 و 2017.1، مثل إعادة بناء اللغة في Java 8، وتلميحات المعلمات، والتمييز الدلالي، نقاط التوقف القابلة للسحب والنتائج الفورية في البحث والمزيد.
- تمت إضافة العديد من عمليات فحص أداة Lint الجديدة.
- ويمكنك أيضًا الاطّلاع على آخر تحديثات "محاكي Android".
2.3 (آذار (مارس) 2017)
يُعد الإصدار Android Studio 2.3.0 في الأساس إصدارًا خاصًا بإصلاح الأخطاء وزيادة ثباته، ولكنه تتضمن أيضًا عددًا من الميزات الجديدة.
2.3.3 (حزيران/يونيو 2017)
هذا تحديث بسيط لإضافة توافق مع Android O (المستوى 26 لواجهة برمجة التطبيقات).
2.3.2 (نيسان (أبريل) 2017)
هذا تحديث بسيط على الإصدار 2.3 من "استوديو Android" لإجراء التغييرات التالية:
- يتم تحديث "مدير AVD" لإتاحة استخدام Google Play في صور النظام.
- إصلاحات للأخطاء في عمليات إنشاء حِزم NDK عند استخدام الإصدار R14 أو الإصدارات الأحدث من NDK
اطّلِع أيضًا على التحديثات المقابلة لمحاكي Android 26.0.3.
2.3.1 (نيسان (أبريل) 2017)
هذا تحديث بسيط للإصدار 2.3 من "استوديو Android" يعمل على إصلاح مشكلة تتعلَّق أجهزة Android الفعلية التي لم تعمل بشكل صحيح مع التشغيل الفوري (راجع المشكلة #235879).
<h3 class="hide-from-toc">
New
</h3>
<div class="video-wrapper-left">
<iframe class="devsite-embedded-youtube-video" data-video-id="VFyKclKBGf0"
data-autohide="1" data-showinfo="0" frameborder="0" allowfullscreen>
</iframe>
</div>
<ul>
<li>Android Studio can now convert PNG, BMP, JPG, and static GIF files to
WebP format. WebP is an image file format from Google that provides lossy
compression (like JPEG) as well as transparency (like PNG) but can provide
better compression than either JPEG or PNG. For more information, see
<a href="/studio/write/convert-webp.html">Convert images to WebP in Android
Studio</a>.
</li>
<li>The new <a href="/studio/write/app-link-indexing.html">App Links
Assistant</a> simplifies the process of adding Android App Links to your app
into a step-by-step wizard. Android App Links are HTTP URLs that bring users
directly to specific content in your Android app.
</li>
<li>The Layout Editor now includes support for two new ConstraintLayout
features:
<ul>
<li>Define a view size based on an aspect ratio.
</li>
<li>Create packed, spread, and weighted linear groups with constraint
chains.
</li>
</ul>
For more information, see <a href=
"/training/constraint-layout/index.html">Build a Responsive UI with
ConstraintLayout</a>.
</li>
<li>The Layout Editor also now lets you create a list of <a href=
"/studio/write/layout-editor.html#edit-properties">favorite attributes</a> so
you don't have to click <b>View all attributes</b> to access the attributes
you use most.
</li>
<li>When adding a material icon using the Vector Import Dialog (<b>File >
New > Vector Asset</b>), you can now filter the list of available icons by
category or by icon name. For more information, see <a href=
"/studio/write/vector-asset-studio.html#materialicon">Adding a material
icon</a>.
</li>
<li>
<a href="/studio/write/annotations.html#accessibility">New and updated
annotations</a>. The new <code>@RestrictTo</code> annotation for methods,
classes, and packages lets you restrict an API. The updated
<code>@VisibleForTesting</code> annotation now has an optional
<code>otherwise</code> argument that lets you designate what the visibility
of a method should be if not for the need to make it visible for testing.
Lint uses the <code>otherwise</code> option to enforce the intended
visibility of the method.
</li>
<li>New <a href="/studio/write/lint.html#snapshot">lint baseline support</a>
allows you to use a snapshot of your project's current set of warnings as a
baseline for future inspection runs so only new issues are reported. The
baseline snapshot lets you start using lint to fail the build for new issues
without having to go back and address all existing issues first.
</li>
<li>New lint checks, including the following:
<ul>
<li>Obsolete <code>SDK_INT</code> Checks: Android Studio removes obsolete
code that checks for SDK versions.
</li>
<li>Object Animator Validation: Lint analyzes your code to make sure that
your <code>ObjectAnimator</code> calls reference valid methods with the
right signatures and checks that those methods are annotated with <code>
@Keep</code> to prevent ProGuard from renaming or removing them during
release builds.
</li>
<li>Unnecessary Item Decorator Copy: Older versions of the
<code>RecyclerView</code> library did not include a divider decorator
class, but one was provided as a sample in the support demos. Recent
versions of the library have a divider decorator class. Lint looks for
the old sample and suggests replacing it with the new one.
</li>
<li>WifiManager Leak: Prior to Android 7.0 (API level 24), initializing
the <code>WifiManager</code> with <code><a href="/reference/android/content/Context.html#getSystemService(java.lang.Class<T>)">Context.getSystemService()</a></code>
can cause a memory leak if the context is not the application context.
Lint looks for these initializations, and if it <em>cannot</em> determine
that the context is the application context, it suggests you use <code><a href="/reference/android/content/Context.html#getApplicationContext()">Context.getApplicationContext()</a></code> to get the proper context for the
initialization.
</li>
<li>Improved Resource Prefix: The existing <code>resourcePrefix</code>
lint check had many limitations. You can now configure your project with
a prefix, such as <code>android { resourcePrefix '<var>my_lib</var>'
}</code>, and lint makes sure that all of your resources are using this
prefix. You can use variations of the name for styles and themes. For
example for the <var>my_lib</var> prefix, you can have themes named
<code>MyLibTheme</code>, <code>myLibAttr</code>,
<code>my_lib_layout</code>, and so on.
</li>
<li>Switch to WebP: This check identifies images in your project that can
be converted to WebP format based on your project’s
<code>minSdkVersion</code> setting. An associated quickfix can
automatically convert the images, or you can <a href=
"/studio/write/convert-webp.html">convert images to WebP</a> manually.
</li>
<li>Unsafe WebP: If your project already includes WebP images, this check
analyzes your project to ensure that your <code>minSdkVersion</code>
setting is high enough to support the included images. For more
information about WebP support in Android and Android Studio, see
<a class="external" href=
"https://developers.google.com/speed/webp/faq#which_web_browsers_natively_support_webp">
Which browsers natively support WebP?</a> and <a href=
"/studio/write/convert-webp.html">Create WebP Images Using Android
Studio</a>.
</li>
</ul>
</li>
</ul>
<h3 class="hide-from-toc">
Changes
</h3>
<ul>
<li>A separate button to push changes with Instant Run: After deploying your
app, you now click <b>Apply Changes</b> <img src=
"/studio/images/buttons/toolbar-apply-changes.svg" alt="" class=
"inline-icon"> to quickly push incremental changes to your running app using
Instant Run. The <b>Run</b> <img src="/studio/images/buttons/toolbar-run.png"
alt="" class="inline-icon"> and <b>Debug</b> <img src=
"/studio/images/buttons/toolbar-debug.png" alt="" class="inline-icon">
buttons are always available to you when you want to reliably push your
changes and force an app restart.
<ul>
<li>Instant Run is supported only when deploying your app to a target
device running Android 5.0 (API level 21) or higher.
</li>
<li>Instant Run is no longer disabled for projects that <a href=
"/studio/projects/add-native-code.html">link to external native
projects</a> using CMake or ndk-build. However, you can only use Instant
Run to push incremental changes to your Java code, not your native code.
</li>
<li>Cold swaps (which you can force for a running app by clicking
<strong>Run</strong> <img src="/studio/images/buttons/toolbar-run.png"
alt="" class="inline-icon">) are now more reliable. Forcing a cold swap
also fixes the issue where changes to notification and widget UIs were
not updated on the target device.
</li>
<li>Includes optimizations that make app startup much faster. These
optimizations may affect profiling, so you should temporarily <a href=
"/studio/run/index.html#disable-ir">disable Instant Run</a> whenever
profiling your app.
</li>
</ul>
</li>
<li>
<p>
The <b>AVD Manager</b> <img src=
"/studio/images/buttons/toolbar-avd-manager.png" alt="" class=
"inline-icon"> and <b>SDK Manager</b> <img src=
"/studio/images/buttons/toolbar-sdk-manager.png" alt="" class=
"inline-icon"> buttons are now included in the lean Navigation Bar as
well as the full Toolbar. To use the lean Navigation Bar, click
<b>View</b> to open the View menu, then ensure that <b>Navigation Bar</b>
is selected and <b>Toolbar</b> is <em>not</em> selected.
</p>
<img src="/studio/images/releases/navigationbar_sdkavd_2x.png" width="757">
</li>
<li>The "Hybrid" debugger has been renamed to "Dual" debugger.
</li>
<li>In the <a href="/studio/run/rundebugconfig.html">Run/Debug
Configurations</a> dialog, under Defaults in the left pane, the following run
configuration names have changed with no behavior changes:
<ul>
<li>The JUnit name has changed to Android JUnit. If you have a project
that uses JUnit run configurations, those configurations are transformed
to Android JUnit run configurations the first time you open the project
with Android Studio. A dialog appears to inform you of the name change.
</li>
<li>The Android Tests name has changed to Android Instrumented Tests.
</li>
</ul>
</li>
<li>The <a href="/studio/debug/am-gpu-debugger.html">GPU Debugger</a> has
been removed from Android Studio as of version 2.3. An open-source,
standalone version of the tool is now available on <a href=
"https://github.com/google/gapid" class="external-link">GitHub</a>.
</li>
<li>The Run/Debug option is no longer available when you right-click a <code>
*.gradle build</code> script.
</li>
<li>All templates now use <code>ConstraintLayout</code> as the default
layout.
</li>
<li>The Widgets palette in the Layout Editor has been redesigned.
</li>
</ul>
<p>
This release also includes a number of bug fixes. <a href=
"https://code.google.com/p/android/issues/list?can=1&q=target%3D2.3+status%3DReleased&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles">
See all bug fixes in 2.3.0.</a>
</p>
<p class="note">
<b>Known issue:</b> Some device manufacturers block apps from automatically
launching after being installed on the device. When deploying your app to a
physical device using Android Studio 2.3, this restriction breaks the
intended behavior of Instant Run and causes the following error output:
<code>Error: Not found; no service started</code>. To avoid this issue,
either <a href="/studio/run/emulator.html">use the emulator</a> or enable
automatic launching for your app in your device's settings. The procedure
for doing this is different for each device, so check the instructions
provided by the manufacturer. To learn more about this issue, see
<a href="https://code.google.com/p/android/issues/detail?id=235879">Issue
#235879</a>.
</p>
2.2 (أيلول (سبتمبر) 2016)
2.2.3 (كانون الأول (ديسمبر) 2016)
<p>
This is a minor update to Android Studio 2.2. It includes a bug fixes
focused around gradle, the core IDE, and lint.
</p>
<p>
Highlighted build changes:
</p>
<ul>
<li>ProGuard version rollback. Due to a <a href=
"https://sourceforge.net/p/proguard/bugs/625/">correctness issue</a>
discovered in ProGuard 5.3.1, we have rolled back to ProGuard 5.2.1. We
have worked with the ProGuard team on getting a fix quickly, and we expect
to roll forward to ProGuard 5.3.2 in Android Studio 2.3 Canary 3.
</li>
<li>Bug fix for <code>aaptOptions</code> <code>IgnoreAssetsPattern</code>
not working properly (<a href="http://b.android.com/224167">issue
224167</a>)
</li>
<li>Bug fix for Gradle autodownload for Constraint Layout library
(<a href="https://code.google.com/p/android/issues/detail?id=212128">issue
212128</a>)
</li>
<li>Bug fix for a JDK8/Kotlin compiler + dx issue (<a href=
"http://b.android.com/227729">issue 227729</a>)
</li>
</ul>
<p>
<a href=
"https://code.google.com/p/android/issues/list?can=1&q=target%3D2.2.3+status%3AReleased+&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles">
See all bug fixes in 2.2.3</a>.
</p>
2.2.2 (تشرين الأول/أكتوبر 2016)
<p>
This is a minor update to Android Studio 2.2. It includes a number of small
changes and bug fixes, including:
</p>
<ul>
<li>When reporting Instant Run issues through the IDE, the report now also
includes logcat output for <code>InstantRun</code> events. To help us
improve Instant Run, please <a href=
"/studio/run/index.html#submit-feedback">enable extra logging and report
any issues</a>.
</li>
<li>A number of small bug fixes for Gradle.
</li>
<li>A fix for problems with generating multiple APKs.
</li>
</ul>
2.2.1 (تشرين الأول/أكتوبر 2016)
<p>
This is a minor update to Android Studio 2.2. It includes several bug fixes
and a new feature to enable extra logging to help us troubleshoot Instant
Run issues—to help us improve Instant Run, please <a href=
"/studio/run/index.html#submit-feedback">enable extra logging and report
any issues</a>.
</p>
جديد
- تنسيق جديد بالكامل "محرّر إعلانات Google" يتضمّن أدوات مخصّصة تتوافق مع ConstraintLayout.
<li>New <strong><a href=
"http://tools.android.com/tech-docs/layout-inspector">Layout
Inspector</a></strong> lets you examine snapshots of your layout hierarchy
while your app is running on the emulator or a device.
</li>
<li>New <strong><a href="/studio/write/firebase.html">Assistant</a></strong>
window to help you integrate Firebase services into your app.
</li>
<li>New <strong><a href="/studio/debug/apk-analyzer.html">APK
Analyzer</a></strong> tool so you can inspect the contents of your packaged
app.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/test-recorder">Espresso Test
Recorder</a></strong> tool (currently in beta) to help you create UI tests by
recording your own interactions.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/build-cache">build cache</a></strong>
(currently experimental) to speed up build performance.
</li>
<li>New <strong>C/C++ build integration with CMake and ndk-build</strong>.
Compile and build new or existing native code into libraries packaged into
your APK, and debug using lldb. For new projects, Android Studio uses CMake
by default, but also supports ndk-build for existing projects. To learn how
to include native code in your Android application, read <a href=
"/studio/projects/add-native-code.html">Add C and C++ Code to Your
Project</a>. To learn how to debug native code with lldb, see <a href=
"/studio/debug/index.html#debug-native">Debug Native Code</a>.
</li>
<li>New <strong><a href="/studio/intro/index.html#sample-code">Samples
Browser</a></strong> so you can easily look up Google Android sample code
from within Android Studio to jump start app development.
</li>
<li>New <strong>Merged Manifest Viewer</strong> to help you diagnose how your
manifest file merges with your app dependencies across project build
variants.
</li>
<li>The <strong>Run</strong> window now contains log messages for the current
running app. Note that you can configure the <a href=
"/studio/debug/am-logcat.html">logcat Monitor</a> display, but not the
<strong>Run</strong> window.
</li>
<li>New <strong><a href="/studio/run/emulator.html">Android
Emulator</a></strong> features:
<ul>
<li>Added new <strong>Virtual</strong> <strong>Sensors</strong> and
<strong>Cellular</strong> > <strong>Signal Strength</strong> controls.
</li>
<li>Added an <strong>LTE</strong> option to the <strong>Cellular</strong>
> <strong>Network type</strong> control.
</li>
<li>Added simulated vertical swipes for scrolling through vertical menus
with a mouse wheel.
</li>
</ul>
</li>
<li>New <strong><a href="/studio/run/rundebugconfig.html">Run/Debug
Configuration</a></strong> features:
<ul>
<li>The <strong>Debugger</strong> tab of the Android App and Android
Tests templates now contain several new options for debugging with LLDB.
</li>
<li>The <strong>Profiling</strong> tab of the Android App and Android
Tests templates now contain a <strong>Capture GPU Commands</strong>
option for enabling GPU tracing. You can display GPU traces in the GPU
Debugger (a beta feature).
</li>
<li>The Android Tests template now has a <strong>Firebase Test Lab Device
Matrix</strong> option for the <strong>Deployment Target</strong>.
</li>
<li>The Native Application template has been deprecated. If you use this
template in a project, Android Studio automatically converts it to the
Android App template.
</li>
<li>The Android Application template has been renamed to Android App.
</li>
</ul>
</li>
<li>Improved installation, configuration, performance, and UI features in the
<strong><a href="/studio/debug/am-gpu-debugger.html">GPU
Debugger</a></strong> (currently in beta).
</li>
<li>Android Studio now comes bundled with <strong>OpenJDK 8</strong>.
Existing projects still use the JDK specified in <strong>File > Project
Structure > SDK Location</strong>. You can switch to use the new bundled
JDK by clicking <strong>File > Project Structure > SDK
Location</strong> and checking the <strong>Use embedded JDK</strong>
checkbox.
</li>
<li>Added new <strong>help menus and buttons</strong> in the UI so you can
more easily find the online documentation.
</li>
التغييرات
- تم تحديث قاعدة رموز IDE من IntelliJ 15 إلى IntelliJ 2016.1
- يتطلب التشغيل الفوري الآن وجود حزمة SDK للنظام الأساسي المقابلة للهدف مستوى واجهة برمجة تطبيقات الجهاز المطلوب تثبيته.
- سيتم إيقاف ميزة "التشغيل الفوري" تلقائيًا إذا كان المستخدم يشغّل التطبيق باستخدام ملف عمل أو كمستخدم ثانوي.
- تم إصلاح العديد من مشاكل الموثوقية في ميزة التشغيل الفوري التي كانت تؤدي إلى عدم نشر التغيُّرات
أو تعطُّل التطبيق:
- لم يتم نشر بعض مواد عرض التطبيق في تطبيقك الذي يعمل. ( خطأ: #213454)
- يتعطّل التطبيق عند انتقال المستخدم بين ميزة التشغيل الفوري وغير الفورية تشغيل الجلسات التي لا تحتوي فيها الفئة القابلة للتسلسل على SerVersionUID محددة. (خطأ: #209006)
- لا تظهر تغييرات النمط مع التشغيل الفوري. (خطأ: #210851)
- جلسة التشغيل الفوري غير موثوقة وتتسبب في FileNotFoundException. (الخطأ: #213083)
- لا تظهر التغييرات التي يتم إجراؤها على ملفات drawable إلا بعد إجراء عملية إعادة إنشاء كاملة في نظام التشغيل KitKat. (خطأ: #21530)
- لا تظهر تغييرات الموارد مع التشغيل الفوري عند التخصيص تحتوي sourceSets على مسارات متداخلة. (الخطأ: #219145)
- لا يعمل التبديل السريع والدافئ إذا احتوت الفئة التي تم تغييرها على تعليق توضيحي بقيمة التعداد. (الخطأ: #209047)
- التغييرات التي تطرأ على بيانات التعليقات التوضيحية التي لم تظهر في التشغيل الفوري (خطأ: #210089)
- لا يلتقط التشغيل الفوري تغييرات التعليمات البرمجية إذا أجريت تغييرات خارج بيئة التطوير المتكاملة (IDE). (خطأ: #213205)
- جلسة "التشغيل الفوري" غير موثوق بها بسبب عدم تطابق الرمز المميّز للأمان. (خطأ: #211989
- لا تنجح عملية التبديل البارد للأجهزة التي لا تتوافق مع run-as بشكل صحيح. (الخطأ: #210875)
- يتعطّل التطبيق بعد إعادة تشغيل التطبيق فورًا. (الخطأ: #219744)
- تمت ملاحظة ClassNotFoundException عند التبديل من التشغيل الفوري إلى تصحيح الأخطاء الفوري. (الخطأ: #215805)
<li>Improved performance for <strong>Gradle sync</strong> within the IDE,
especially for large projects.
</li>
<li>Improved build times for both full and incremental builds with new app
packaging code.
</li>
<li>Improved <strong>Jack compiler performance and features</strong>,
including support for annotation processors and dexing in process. To learn
more, read the <a href=
"/studio/releases/gradle-plugin.html#revisions">Android plugin for Gradle
2.2.0 release notes</a>.
</li>
<li>Removed the <strong>Scale</strong> AVD property from the AVD Manager.
</li>
<li>The Android Emulator <strong>-port</strong> and <strong>-ports</strong>
command-line options now report which ports and serial number the emulator
instance is using, and warn if there are any issues with the values you
provided.
</li>
<li>Improved the <strong><a href=
"/studio/write/create-java-class.html">Create New Class dialog</a></strong>
and the corresponding file templates. <strong>Note:</strong> If you've
previously customized the <strong>AnnotationType</strong>,
<strong>Class</strong>, <strong>Enum</strong>, <strong>Interface</strong>, or
<strong>Singleton</strong> file templates, you need to modify your templates
to comply with the new templates or you won’t be able to use the new fields
in the <strong>Create New Class</strong> dialog.
</li>
<li>Improved the <strong><a href=
"/studio/write/vector-asset-studio.html">Vector Asset Studio</a></strong>
user interface and added support for Adobe Photoshop Document (PSD) files.
</li>
<li>Improved the <strong><a href=
"/studio/write/image-asset-studio.html">Image Asset Studio</a></strong> user
interface.
</li>
<li>Improved the <strong>Theme Editor</strong>'s Resource Picker.
</li>
<li>Fixed memory leaks and reduced overall memory usage in Android Studio.
</li>
<li>Added a <strong>Background</strong> button in the <strong><a href=
"/studio/intro/update.html#sdk-manager">SDK Manager</a></strong> so you can
get back to work and install your packages in the background.
</li>
<li>Improved <strong><a href="/studio/intro/accessibility.html">Accessibility
features</a></strong>, including support for screen readers and keyboard
navigation.
</li>
<li>Enhanced <strong>Code Analysis</strong> includes code quality checks for
Java 8 language usage and more cross-file analysis.
</li>
<li>Several toolbar icons have changed.
</li>
2.1 (أبريل 2016)
توفّر التغييرات الأساسية في هذا التحديث إمكانية التطوير باستخدام إصدار Android N للمعاينة.
2.1.3 (آب (أغسطس) 2016)
يضيف هذا التحديث توافقًا مع الإصدار 2.14.1 من Gradle 2.14.1، والذي يتضمّن مستوى الأداء. وتحسينات وميزات جديدة وإصلاح أمان مهم. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة Gradle ملاحظات الإصدار.
وفقًا للإعدادات التلقائية، تستخدم المشاريع الجديدة في الإصدار 2.1.3 من "استوديو Android" الإصدار 2.14.1 من Gradle. بالنسبة الحالية، فإن IDE يطالبك بالترقية إلى Gradle 2.14.1 مكوّن Android الإضافي للإصدار 2.1.3 من Gradle، وهو مطلوب عند استخدام Gradle 2.14.1 أعلى.
2.1.2 (حزيران (يونيو) 2016)
يتضمّن هذا التحديث عددًا من التغييرات البسيطة وإصلاحات الأخطاء:
- تحديثات التشغيل الفوري وإصلاح الأخطاء
- تحسينات على أداء LLDB وإشعارات الأعطال.
- تم إصلاح التراجع في تحديث الأمان في الإصدار 2.1.1 من "استوديو Android" والذي
تسبب في إخفاق
git rebase
.
2.1.1 (أيار/مايو 2016)
تحديث إصدار الأمان
ويتيح نظام Android N الأساسي استخدام ميزات لغة Java 8، التي تتطلب برنامجًا برمجيًا تجريبيًا جديدًا يسمى Jack. لا يتوفّر أحدث إصدار من Jack حاليًا إلا في Android Studio 2.1. لذلك إذا كنت تريد استخدام Java 8 ميزات جديدة، عليك استخدام الإصدار 2.1 من "استوديو Android" لإنشاء تطبيقك.
ملاحظة: التشغيل الفوري معطلة عند تمكين المحول البرمجي لـ Jack لأنها غير متاحة في الوقت الحالي متوافقة.
على الرغم من أنّ الإصدار 2.1 من "استوديو Android" أصبح ثابتًا الآن، لا يزال مجمع Jack
تجريبيًا ويجب تفعيله باستخدام السمة jackOptions
في ملف build.gradle
.
بخلاف التغييرات التي تتيح استخدام "معاينة N": الإصدار Android Studio 2.1 إصلاحات أخطاء بسيطة والتحسينات التالية:
- تم تفعيل مصحِّح أخطاء C++ المتوافق مع Java تلقائيًا عند استخدام جهاز N أو محاكي واختيار وضع مصحِّح أخطاء الأداة الأصلية (في علامة التبويب مصحِّح الأخطاء لإعدادات التشغيل/تصحيح الأخطاء).
بالنسبة إلى تحسينات الإصدار الأخرى، بما في ذلك تجميع Java التزايدي والفهرسة أثناء المعالجة، ينبغي تحديث مكون Android الإضافي Gradle إلى الإصدار 2.1.0.
2.0 (أبريل 2016)
ملاحظة: إذا كنت تُطوّر تطبيقات لإصدار N Developer Preview، عليك استخدام الإصدار التجريبي من "استوديو Android 2.1". لا يتوافق Android Studio 2.0 جميع الميزات المطلوبة لاستهداف معاينة N.
التشغيل الفوري:
- ينشر "استوديو Android" الآن عمليات الإنشاء النظيفة بشكل أسرع من أي وقت مضى. بالإضافة إلى ذلك، أصبح من الممكن الآن نقل التغييرات المتزايدة في الرموز إلى المحاكي أو جهاز فعلي بشكل فوري تقريبًا. مراجعة التعديلات بدون إعادة نشر ملف برمجي جديد لاختبار الأخطاء أو بدون إعادة تشغيل التطبيق في كثير من الحالات
- تتيح ميزة "التشغيل الفوري" تطبيق التغييرات التالية على تطبيق قيد التشغيل:
- التغييرات التي تطرأ على تنفيذ طريقة حالية للمثيل أو طريقة ثابتة
- التغييرات التي تطرأ على مورد تطبيق حالي
- تغييرات في التعليمات البرمجية الهيكلية، مثل توقيع طريقة أو علامة ثابتة (يتطلب جهازًا مستهدفًا يعمل بالمستوى 21 من واجهة برمجة التطبيقات أو أعلى)
- اطّلِع على المستندات لمعرفة مزيد من المعلومات عن ميزة "التشغيل الفوري"
.
ملاحظة: لا يتم دعم التشغيل الفوري إلا عند نشر إصدار تصحيح الأخطاء، استخدم مكون Android الإضافي الإصدار 2.0.0 من Gradle أو الإصدارات الأحدث، واضبط مستوى وحدة تطبيقك
build.gradle
ملف لـminSdkVersion 15
أو أحدث. لتحقيق أفضل أداء، اضبط تطبيقك علىminSdkVersion 21
أو إصدار أحدث.
إضافات جديدة إلى أداة Lint:
- فحص عبارات
switch
باستخدام الأعداد الصحيحة@IntDef
التي تتضمّن تعليقات توضيحية للتأكد من أنّها تتم معالجة جميع الثوابت. لإضافة أي عبارات مفقودة بسرعة، استخدم القائمة المنسدلة "الإجراء المطلوب" وتحديد إضافة @IntDef غير موجود. الثوابت: - تشير إلى المحاولات غير الصحيحة لاستخدام إدراج السلسلة لإدراج
أرقام الإصدار في ملف
build.gradle
. - علامات للفئات المجهولة التي تمدّد فئة
Fragment
- علامات الرموز البرمجية الأصلية في المواقع غير الآمنة، مثل
res/
وasset/
مجلد. تشجِّع هذه العلامة على تخزين الرموز البرمجية الأصلية فيlibs/
. والذي يتم تعبئته بشكل آمن في مجلد مجلد واحد (data/app-lib/
) أثناء التثبيت. AOSP: #169950 - الإبلاغ عن المكالمات غير الآمنة إلى
Runtime.load()
وSystem.load()
AOSP: #179980 - ابحث عن أي موارد غير مستخدَمة وأزِلها من خلال اختيار إعادة ضبط الإعدادات > إزالة
الموارد غير المستخدمة من شريط القوائم. رصد الموارد غير المستخدَمة الآن
تدعم الموارد المشار إليها فقط من خلال الموارد غير المستخدمة، والمراجع في تنسيق أولي
مثل مراجع صور
.html
وtools:keep
tools:discard
التي تستخدمها دالة تقليص موارد Gradle، في حين أن وضع مجموعات مصادر غير نشطة في الاعتبار (مثل الموارد المستخدمة في إصدارات أخرى النكهات) والتعامل بشكل صحيح مع عمليات استيراد الحقول الثابتة. - التحقّق من توفّر مراجع واجهات برمجة التطبيقات الضمنية على جميع المنصات
التي تستهدفها
minSdkVersion
- الإبلاغ عن استخدام غير ملائم لرمزَي
RecyclerView
وParcelable
- يتم الآن أيضًا التحقّق من عمليتي الفحص
@IntDef
و@IntRange
و@Size
.int
من المصفوفات والتباينات.
تحسينات إضافية:
- تم تحسين أداء Android Emulator 2.0 الذي أصبح أسرع من أي وقت مضى ويتوافق مع نطاق أوسع من الأجهزة الافتراضية، كما يتميز بإعداد كبير واجهة مستخدم محسنة. ولمزيد من المعلومات حول المحاكي الجديد، يُرجى الاطّلاع على ملاحظات إصدار أدوات حِزم SDK.
- تحسينات على جهاز Android الافتراضي
المدير:
- يتم الآن تصنيف صور النظام ضمن علامات التبويب التالية: مقترَح وx86 وغير ذلك
- ضمن الإعدادات المتقدمة، يمكنك تفعيل دعم متعدد النواة لتحديد عدد النوى التي يمكن للمحاكي استخدامها.
- ضمن الإعدادات المتقدّمة، يمكنك تحديد كيفية عرض الرسومات
على المحاكي من خلال اختيار أحد الخيارَين التاليَين:
- الجهاز: يتم استخدام بطاقة رسومات الكمبيوتر من أجل العرض بشكل أسرع
- البرامج: تستخدم العرض المستند إلى البرامج.
- تلقائي: يختار المحاكي الخيار الأفضل. هذا النمط هو الإعداد الافتراضي.
- تحسين أوقات حزم AAPT من خلال تحديد هدف النشر قبل التطبيق المشروع. ويسمح ذلك لـ "استوديو Android" بحزم الموارد التي يتطلبها الجهاز المحدد.
- تمت إضافة تكامل Cloud Test Lab لتوفير إمكانية اختبار التطبيقات عند الطلب راحة الخدمة السحابية وقابلية تطورها. تعرَّف على المزيد من المعلومات عن كيفية استخدام السحابة الإلكترونية Test Lab باستخدام "استوديو Android"
- تمت إضافة معاينة لـ برنامج تصحيح أخطاء GPU الجديد. للرسومات ذات محتوى مكثف، يمكنك الآن التعرّف بصريًا على رمز OpenGL ES لتحسين تطبيقك أو لعبتك
- تمت إضافة اختبار فهرسة تطبيقات Google. إتاحة استخدام عناوين URL والتطبيقات ووظائف الفهرسة والبحث في تطبيقاتك للمساعدة في جذب المزيد من الزيارات إلى تطبيقك، واكتشاف المحتوى الأكثر استخدامًا في التطبيق، وجذب المستخدمين الجدد. اختبِر عناوين URL وتحقَّق من صحتها في تطبيقك، وكل ذلك ضمن نظام التشغيل Android. استوديو YouTube. راجع دعم عناوين URL والتطبيقات الفهرسة في "استوديو Android"
- ترقيات من أحدث إصدار من IntelliJ 15، بما في ذلك تحليل الترميز المحسَّن والأداء المحسَّن اطّلِع على الميزات الجديدة في IntelliJ للحصول على وصف كامل للميزات والتحسينات الجديدة.
- تضيف ميزة الإكمال التلقائي في محرِّر XML الآن علامات الاقتباس عند إكمال سمات . للتحقّق ممّا إذا كان هذا الخيار مفعّلاً، افتح مربّع الحوار الإعداد أو الإعدادات المفضّلة، وانتقِل إلى المحرِّر > عام > مفاتيح ذكية، وضَع علامة في المربّع بجانب إضافة علامات اقتباس لقيمة السمة عند اكتمال السمة. المشكلة: 195113
- يتيح محرِّر XML الآن إكمال الرموز البرمجية لتعبيرات ربط البيانات .
الإصدار 1.5.1 من "استوديو Android" (كانون الأول/ديسمبر 2015)
الإصلاحات والتحسينات:
- تم إصلاح مشكلة تعذُّر العرض في "محرِّر التنسيق". المشكلة: 194612
- تمت إضافة إمكانية تغيير سمات بيان
description
حسب الإعداد. المشكلة: 194705 - تم تحسين التباين في مظهر Darcula في Android Studio في "استوديو مواد العرض الخاصة بالمتّجهات". المشكلة: 191819
- تمت إضافة دعم زر المساعدة إلى أداة Vector Asset Studio.
- تمت إضافة دعم عامل التشغيل
%
لربط البيانات. المشكلة: 194045 - تم إصلاح مشكلة تسبب فيها تشغيل تطبيق لتصحيح الأخطاء في اتصال برنامج تصحيح الأخطاء بـ جهاز خاطئ. المشكلة: 195167
- تم إصلاح استثناء المؤشر الفارغ الذي يمكن أن يحدث عند محاولة تشغيل أحد التطبيقات في لسيناريوهات معينة.
الإصدار 1.5.0 من Android Studio (تشرين الثاني/نوفمبر 2015)
الإصلاحات والتحسينات:
- تمت إضافة إمكانات جديدة لتحليل Memory Monitor إلى Android Monitor. عند عرض ملف HPROF تم التقاطها من هذه الشاشة، أصبحت الشاشة أكثر فائدة الآن حتى تتمكن من تحديد موقع الجهاز مثل تسرُّب الذاكرة. لاستخدام هذه الشاشة، انقر على شاشة Android في أسفل النافذة الرئيسية. في "مراقبة Android"، انقر على علامة التبويب الذاكرة. بينما الشاشة قيد التشغيل، انقر على رمز Dump Java Heap، ثم انقر التقاط في النافذة الرئيسية والنقر مرّتين على الملف لعرضه (يُرجى النقر.) التقاط "التحليل" على اليسار. (لا يمكن تشغيل "أداة مراقبة أجهزة Android" في الوقت نفسه الذي يتم فيه تشغيل "أداة مراقبة Android").
- تمت إضافة ميزة جديدة تتيح استخدام الروابط لصفحات في التطبيق والروابط المؤدية إلى التطبيقات. يمكن لمحرِّر الرموز إنشاء
فلتر الأهداف للربط بصفحات معيّنة في ملف
AndroidManifest.xml
. يمكنه أيضًا إنشاء رمز برمجي لمساعدتك على الدمج مع واجهة برمجة تطبيقات فهرسة التطبيقات في نشاط في ملف Java. تساعدك ميزة اختبار الروابط لصفحات في التطبيق في التأكّد من أنّ رابطًا لصفحة في التطبيق محدّدًا يمكنه تشغيل التطبيق. في علامة التبويب عام ضمن مربّع الحوار إعدادات التشغيل/التصحيح، يمكنك تحديد خيارات تشغيل الرابط لصفحة في التطبيق. يمكنك أيضًا اختبار طلبات البيانات من واجهة برمجة التطبيقات لفهرسة التطبيقات في أي نشاط باستخدام Android Monitor. logcat. تتضمّن أداةlint
لنظام التشغيل Android الآن تحذيرات بشأن مشاكل معيّنة تتعلّق بالروابط لصفحات في التطبيق وواجهة برمجة التطبيقات App Indexing API. - تمت إضافة إمكانية استخدام أسماء قصيرة عند إكمال العروض المخصّصة باستخدام الرموز البرمجية في "محرر الرموز البرمجية".
- تمت إضافة المزيد من عناصر
VectorDrawable
إلى استوديو مواد العرض الخاصة بالمتّجهات لضمان التوافق مع الإصدارات القديمة. يمكن أن تستخدم Vector Asset Studio هذه العناصر لتحويل المتجه العناصر القابلة للرسم إلى صور نقطية بتنسيق PNG لاستخدامها مع Android 4.4 (مستوى واجهة برمجة التطبيقات 20) والإصدارات الأقدم. - تمت إضافة عمليات تحقّق جديدة من
lint
لكل من Android TV وAndroid Auto لمنحك الفرصة. ملاحظات فورية وقابلة للتنفيذ في "استوديو Android"، بالإضافة إلى العديد من الإصلاحات السريعة. على سبيل المثال: على Android TV، يمكنهم الإبلاغ عن المشاكل وتوفير إصلاح سريع للأذونات والأجهزة غير المتوافقة عنصر واحد (uses-feature
) ومشاكل بانر غير متوفّرة. بالنسبة إلى Android Auto، يمكنه التحقّق من الاستخدام الصحيح في ملف الوصف المُشار إليه من ملفAndroidManifest.xml
، والإبلاغ في حال عدم توفّر فلتر غرض لفئةMediaBrowserService
، وتحديد مشاكل معيّنة في الإجراءات الصوتية. - تمت إضافة عمليات تحقّق جديدة من
lint
لأجهزة استقبال البث غير الآمنة، وعمليات استخدام فئةSSLCertificateSocketFactory
وفئةHostnameVerifier
، وعمليات استدعاءFile.setReadable()
وFile.setWritable()
. ويرصد أيضًا عمليات البحث عن موارد البيان غير الصالحة، خاصةً للموارد التي تختلف حسب الإعداد. - تم إصلاح عدد من مشاكل الثبات.
الإصدار 1.4.1 من "استوديو Android" (تشرين الأول/أكتوبر 2015)
الإصلاحات والتحسينات:
- تم إصلاح مشكلة في ذاكرة التخزين المؤقت لنموذج Gradle التي يمكن أن تؤدي إلى مزامنة Gradle بشكل مفرط عند إعادة تشغيل IDE .
- تم إصلاح مشكلة توقف مؤقت لتصحيح الأخطاء الأصلية.
- تم إصلاح مشكلة حظر مستخدمي نظام التحكّم في الإصدارات Subversion 1.9.
- تم إصلاح مشكلة مربع الحوار أداة اختيار الجهاز التي كانت بعد توصيل جهاز غير مصرح به، فلن تتمكن من اختيار المحاكي. المشكلة: 189658
- تم إصلاح الأخطاء في الإبلاغ عن أخطاء الترجمة للغات التي بها مؤهل منطقة الترجمة في المنطقة (ولكن ليس باللغة الأساسية). المشكلة: 188577
- تم إصلاح مشكلة في أداة تعديل التصميم تتعلّق بتفاعلها مع أداة تعديل التصميم. المشكلة: 188070
- تم إصلاح عملية إعادة تحميل "محرِّر المظاهر" وتعديل التعارض الذي تسبّب في عدم تعديل السمات بشكل صحيح. المشكلة: 187726
- تحسين أداء "محرر المظاهر"
- تم إصلاح مشكلة تجاهل سمة
android:required
في البيان. المشكلة: 187665
الإصدار 1.4.0 من "استوديو Android" (أيلول/سبتمبر 2015)
الإصلاحات والتحسينات:
- تمت إضافة Vector Asset Studio أداة لاستيراد الرسومات الموجّهة، مثل أيقونات المواد وSVG. لاستخدام هذه الأداة، في عرض Android من نافذة المشروع، انقر بزر الماوس الأيمن على مجلّد res واختَر جديد > أصل رسومات متحركة.
- تمت إضافة وظائف جديدة لمراقبة Android ووحدة معالجة الرسومات والشبكة. لاستخدام هذه الشاشات، انقر على شاشة Android في أسفل النافذة الرئيسية. شاشة جهاز Android لا يمكن تشغيل Android Monitor في الوقت نفسه.
- تمت إضافة معاينة مبكرة لـ "محرِّر المظاهر" الجديد. لاستخدام هذه الميزة، حدد الأدوات > Android > أداة تعديل المظهر:
- تم تحديث نماذج Android لمكتبة دعم التصميم. تتضمن النماذج الآن الدعم
للتعرّف على مواصفات Material Design، بالإضافة إلى مكتبة دعم
appcompat
للتوافق مع الأنظمة القديمة.
الإصدار 1.3.2 من "استوديو Android" (أغسطس 2015)
الإصلاحات والتحسينات:
- دعم إضافي لنظام التشغيل Android 6.0 (المستوى 23 من واجهة برمجة التطبيقات)، بما في ذلك الرموز الجديدة ومدير AVD دعم إنشاء أجهزة بكثافات شاشات جديدة.
- تم إصلاح استثناء كان يحدث أثناء عمليات التحقّق من التحديثات. المشكلة: 183068
- تم حلّ المشكلة التي كانت تؤدي إلى تعطُّل "محرر التنسيق" بسبب عدم حلّ إحداثيات العرض. المشكلة: 178690
- تم إصلاح مشكلة التحذيرات بشأن أنواع الموارد غير الصالحة. المشكلة: 182433
- تم إصلاح فحص الأخطاء الذي كان يُبلغ عن الموارد بشكل غير صحيح على أنّها خاصة. المشكلة: 183120
الإصدار 1.3.1 من "استوديو Android" (آب (أغسطس) 2015)
الإصلاحات والتحسينات:
- دعم ثابت لإنشاء جهاز Android Wear الافتراضي (AVD) على نظام التشغيل Windows.
- تم تعديل معالج المشروع لاستخدام اسم المشروع الذي تم إدخاله.
- تمت إضافة ميزة للسماح بتخزين حزمة تطوير البرامج (SDK) لنظام التشغيل Android في دليل للقراءة فقط.
- تم تحديث مكوّن Android الإضافي لإصدار Gradle إلى 1.3.0.
- تم إصلاح المشاكل المتعلّقة ببدء جلسة تصحيح الأخطاء من Android Debug Bridge (adb) Unix صَدَفَة
- تم إصلاح رسالة إعادة تسمية حزمة Java لإظهار اسم الحزمة الصحيح.
الإصدار 1.3.0 من "استوديو Android" (تموز (يوليو) 2015)
الإصلاحات والتحسينات:
- تمّت إضافة خيارات لتفعيل خدمات المطوّرين، مثل Google AdMob و إحصاءات Google، في تطبيقك من داخل IDE Android Studio.
- إضافة تعليقات توضيحية إضافية،
مثل
@RequiresPermission
و@CheckResults
و@MainThread
- تمت إضافة إمكانية إنشاء لقطات لأجزاء من الذاكرة في Java وتحليل عمليات تخصيص سلاسل المحادثات من جهاز مراقبة الذاكرة يمكنك أيضًا استخدام IDE في Android Studio لتحويل ملفات تنسيق HPROF الثنائي الخاصة بنظام التشغيل Android إلى تنسيق HPROF العادي.
- دمج أداة إدارة حِزم تطوير البرامج (SDK)
في "استوديو Android" لتبسيط الوصول إلى الحزم والأدوات وتقديم إشعارات بشأن التحديثات.
ملاحظة: لا يزال تطبيق "أداة إدارة حِزم SDK المستقلة" متاحًا من سطر الأوامر، ولكن يُنصَح باستخدامه فقط مع حزمة تطوير البرامج (SDK) المستقلة من عمليات التثبيت.
- تمت إضافة الأمر
finger
إلى وحدة التحكّم في المحاكي لمحاكاة الأمر. بصمة الإصبع المصادقة. - تمت إضافة بيان موارد "
<public>
" لتحديد المكتبة. الموارد مثل علنية وخاصة الموارد.ملاحظة: تتطلب هذه الميزة مكوّن Android الإضافي لنظام Gradle الإصدار 1.3 أو الإصدارات الأحدث.
- تمت إضافة ميزة ربط البيانات لأجل إنشاء تنسيقات توضيحية تربط منطق تطبيقك بعناصر التنسيق.
- تمت إضافة إمكانية استخدام وحدة حزمة APK اختبارية منفصلة لإنشاء حِزم APK اختبارية في Android Studio.
- تم تعديل AVD Manager باستخدام تحسينات "HAXM " وإشعارات محسّنة.
- تمت إضافة دعم محاكيات ARM وMIPS بالإصدار 64 بت إلى QEMU 2.1.
- تم تبسيط درجة دقة تحذيرات Lint عن طريق إضافة إصلاحات سريعة، مثل الإنشاء التلقائي شراء قطعة أراضي التنفيذ.
- تمت إضافة نموذج نشط. إتاحة الإدراج السريع لمقتطفات الرموز
الإصدار 1.2.2 من "استوديو Android" (حزيران/يونيو 2015)
الإصلاحات والتحسينات:
- تم إصلاح مشاكل الإصدار التي كانت تمنع إصدارات من الاكتمال.
الإصدار 1.2.1 من Android Studio (أيار (مايو) 2015)
الإصلاحات والتحسينات:
- تم إصلاح مشاكل طفيفة في الأداء والميزات.
الإصدار 1.2.0 من "استوديو Android" (نيسان (أبريل) 2015)
الإصلاحات والتحسينات:
- تم تعديل نافذة بيئة تشغيل Android لتشمل أداة مراقبة الذاكرة وإضافة علامة تبويب. لمراقبة أداء وحدة المعالجة المركزية (CPU).
- تمت إضافة علامة التبويب التقاطات في الهامش الأيمن لعرض ملفات بيانات أداء الذاكرة ووحدة المعالجة المركزية التي تم التقاطها، مثل تتبُّع طريقة وحدة المعالجة المركزية (CPU) ولقطات لأجزاء من الذاكرة
- تعليق توضيحي موسَّع الدعم مع تعليقات توضيحية إضافية للبيانات الوصفية وإمكانية استنتاج القيم الفارغة.
- تحسين "محرِّر الترجمات" من خلال إتاحة استخدام "أفضل" الممارسة الحالية (BCP) 47، التي تستخدم رموز المناطق واللغات المكوّنة من 3 أحرف
- ميزات IntelliJ 14 و14.1 المدمجة لتحسين تحليل الرموز البرمجية وأدائها:
-
- تحسين تصحيح الأخطاء لعرض القيم المضمّنة للمتغيّرات بالإضافة إلى تنفيذ تقييم مضمّن لدالة lambda وتعبيرات المشغل.
- تمت إضافة اكتشاف نمط الرمز لأحجام علامات التبويب والمسافة البادئة.
- تمت إضافة ملفات فارغة لتجارب الرموز البرمجية وإنشاء النماذج الأولية بدون ملفات المشاريع.
- تمت إضافة الإدراج المتزامن لعلامات الفتح والإغلاق في ملفات HTML وXML.
- تمت إضافة أداة فك التجميع المضمنة لفئة Java بحيث يمكنك إلقاء نظرة على داخل مكتبة لا يتوفر رمز المصدر لها.
الاطّلاع على الميزات الجديدة في IntelliJ للحصول على وصف كامل للميزات والتحسينات الجديدة.
- تمت إضافة المزيد من طرق عرض المشروع إلى الخدوش وملفات المشاريع والمشاكل الإنتاج والاختبارات لتحسين إدارة المشروعات الوصول إليه.
- تم تحسين الملف > قائمة الإعدادات ومربعات الحوار لـ تحسين إمكانية الوصول إلى الإعدادات وإدارتها.
- تمت إضافة دعم لشاشات العرض العالية الكثافة لنظامَي التشغيل Windows وLinux.
- تمت إضافة دعم لموارد تبلغ 280 نقطة لكل بوصة في
مجلد واحد (
res/drawable-280dpi/
).
الإصدار 1.1.0 من "استوديو Android" (شباط/فبراير 2015)
إصلاحات وتحسينات مختلفة:
- تمت إضافة دعم لساعة Android Wear القالب.
- تم تعديل عملية إنشاء المشاريع والوحدات الجديدة لتضمين مجلدات
res/mipmap
لرمز التمهيد الخاص بكثافة الشاشة. يحل هذان المجلدان (res/mipmap
) محلres/drawable
لأيقونات مشغّل التطبيقات. - تم تحديث رموز مشغّل التطبيقات للحصول على
Material Design (تصميم متعدد الأبعاد) وأضفت
رمز مشغّل التطبيقات
xxxhdpi
- تمّت إضافة عمليات تحقّق وتحسينات في Lint لمجموعات المناطق واللغات ورموز مشغّل التطبيقات وأسماء الموارد وغيرها من المشاكل المشترَكة في الرموز البرمجية.
- تمت إضافة إمكانية استخدام علامة اللغة 47 لأفضل الممارسات الحالية (BCP).
الإصدار 1.0.1 من Android Studio (كانون الأول (ديسمبر) 2014)
إصلاحات وتحسينات مختلفة:
- تم حلّ مشكلة قفل ملف device.xml ومدير AVD.
- تم إصلاح سجلّ المحاكي على أنظمة التشغيل Windows.
- تم حلّ مشكلة إنشاء متوسّط مدة المشاهدة (AVD) بعد تثبيت "استوديو Android" وحزمة تطوير البرامج (SDK) لنظام التشغيل Android على منصّات أخرى. محركات الأقراص على أنظمة Windows.
- ضبط قناة التحديث التلقائية لعمليات التنزيل الجديدة على ثابتة إذا ثبّت إصدار 1.0.0 من Android Studio وأردت الحصول على تحديثات إصدار ثابتة وجاهزة للنشر، يمكنك استخدام ملف > الإعدادات > التحديثات للانتقال إلى قناة التحديثات الثابتة .
الإصدار 1.0 من Android Studio (كانون الأول (ديسمبر) 2014)
الإصدار الأولي من "استوديو Android"
الإصدار 0.8.14 من "استوديو Android" (تشرين الأول/أكتوبر 2014)
يُرجى الانتقال إلى tools.android.com للاطّلاع على قائمة كاملة بالتغييرات.
الإصدار 0.8.6 من Android Studio (أغسطس 2014)
يمكنك الانتقال إلى tools.android.com للاطّلاع على قائمة كاملة بالتغييرات.
الإصدار 0.8.0 من "استوديو Android" (يونيو 2014)
تمت إضافة دعم لمشاريع Android Wear.
يمكنك الانتقال إلى tools.android.com للاطّلاع على قائمة كاملة بالتغييرات.
الإصدار 0.5.2 من Android Studio (أيار (مايو) 2014)
- يمكنك الانتقال إلى tools.android.com للاطّلاع على قائمة كاملة بالتغييرات.
الإصدار 0.4.6 من "استوديو Android" (آذار/مارس 2014)
- يُرجى الانتقال إلى tools.android.com للاطّلاع على قائمة كاملة بالتغييرات.
الإصدار 0.4.2 من "استوديو Android" (كانون الثاني (يناير) 2014)
- يُرجى الانتقال إلى tools.android.com للاطّلاع على قائمة كاملة بالتغييرات.
الإصدار 0.3.2 من "استوديو Android" (تشرين الأول/أكتوبر 2013)
- يُرجى الانتقال إلى tools.android.com للاطّلاع على قائمة كاملة بالتغييرات.
الإصدار 0.2.x من "استوديو Android" (تموز (يوليو) 2013)
- تم دمجها في أحدث تغييرات قاعدة رموز IntelliJ. يتضمّن إصلاحات للمشاكل التي أبلغ عنها مستخدمو "استوديو YouTube"، مثل تعديلات أحجام الخطوط في نظام التشغيل Linux وعرض الخطوط.
- تم تحديث المكوّن الإضافي لنظام Gradle المتوافق مع Android إلى الإصدار 0.5.0.
تحذير: لا يتوافق هذا الإصدار الجديد مع الإصدارات القديمة. عند فتح مشروع يستخدم إصدارًا قديمًا من المكوّن الإضافي، سيعرض "استوديو YouTube" رسالة خطأ مفادها تعذّر إعادة تحميل مشروع Gradle <project_name>.
يتضمن المكون الإضافي المحدّث من Gradle التغييرات التالية:
- نموذج IDE ثابت لاحتواء ملف الإخراج حتى إذا كان مخصصًا من خلال DSL. كذلك
ثابت DSL للحصول على ملف الإخراج أو تعيينه على كائن المتغير بحيث لا يكون من الضروري
استخدام "
variant.packageApplication or variant.zipAlign
" - تم إصلاح عملية حلّ التبعيات لكي نتمكّن من حلّ مجموعة (الإعداد التلقائي، أنواع الإنشاء، النكهات) معًا بدلاً من حلّها بشكل منفصل.
- إصلاح التبعية لاختبارات مشروع المكتبة لتضمين جميع التبعيات بشكل صحيح من المكتبة نفسها.
- تم إصلاح حالة يكون فيها تبعيتان تحملان اسم الورقة نفسه.
- تم إصلاح مشكلة تعذُّر تطبيق ملف قواعد Proguard على النُسخ المخصّصة.
تتوفّر جميع ملاحظات الإصدار الخاصة بالمكوّن الإضافي لنظام Gradle على الرابط التالي: http://tools.android.com/tech-docs/new-build-system.
- نموذج IDE ثابت لاحتواء ملف الإخراج حتى إذا كان مخصصًا من خلال DSL. كذلك
ثابت DSL للحصول على ملف الإخراج أو تعيينه على كائن المتغير بحيث لا يكون من الضروري
استخدام "
- فأخطاء Gradle من أداة aapt لم تعد تشير إلى ملفات الإخراج المدمجة في الإصدار/ المجلد، فإنها تشير إلى مواقع المصدر الحقيقية.
- البنى المتوازية: أصبح من الممكن الآن استخدام عمليات الإنشاء المتوازي في Gradle. يُرجى الانتباه إلى ما يلي: الإصدارات المتوازية التي تم وضعها في مرحلة "الحضانة" (راجع نموذج Gradle's الوثائق المهمة.) هذه الميزة غير مفعّلة تلقائيًا. لتفعيله، يُرجى الانتقال إلى التفضيلات > برنامج التحويل البرمجي، وضع علامة في المربع تجميع وحدات مستقلة بشكل متوازٍ.
- المزيد من العمل على مستودع الموارد الجديد المستخدَم لعرض التنسيق وجمع الموارد
وتسويتها في المحرِّر وغير ذلك:
- دعم أساسي لتبعيات مكتبة .aar (مثل استخدام مكتبة بدون نسخة محلية من المصادر) لا تزال هناك مشكلة في التحقق من تنسيق XML للموارد والتنقل في محرري المصدر.
- رصد دورة في مراجع الموارد
- الوثائق السريعة (F1)، التي يمكنها عرض كل ترجمات السلسلة ضمن علامة الإقحام، ستظهر الآن أيضًا جميع تراكبات الموارد من نكهات Gradle المختلفة وأنواع التصميم، بالإضافة إلى المكتبات. ويتم إدراجها بترتيب عكسي لوضع الموارد، مع وضع خط مُمحي على نُسخ السلسلة التي تم حجبها.
- إصلاحات لمعالجة تحديث الموارد المدمجة عند تعيين تبعيات الوحدة التغيير.
- إصلاحات عرض XML للتعامل بشكل صحيح مع إعلانات الكيانات التي تستخدم أحرفًا وترميز XML وترميز يونيكود يهرب.
- حفظ دعم لقطات الشاشة لمعاينة التنسيق ونوافذ محرري التنسيق
- تم إصلاح أخطاء النماذج.
- إصلاح أخطاء أداة Lint
- إصلاحات متنوّعة لتقارير الأعطال شكرًا لك، واستمر في تقديم تقارير الأعطال!
الإصدار 0.1.x من "استوديو Android" (مايو 2013)
- إصلاحات أخطاء متنوّعة، بما في ذلك إصلاح مشكلة شائعة في تثبيت Windows
الإصدارات القديمة من المكوّن الإضافي لنظام Gradle المتوافق مع Android
3.6.0 (شباط (فبراير) 2020)
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
-
Gradle 5.6.4 لمعرفة المزيد من المعلومات، اطّلِع على القسم الذي يتناول تحديث Gradle.
-
أدوات إنشاء حِزم SDK 28.0.3 أو إصدار أحدث
يدعم هذا التحديث البسيط التوافق مع الإعدادات التلقائية الجديدة ميزات لـ مستوى عرض الحِزم في Android 11
راجع ملاحظات الإصدار 4.0.1 للحصول على التفاصيل.
الميزات الجديدة
يتضمّن هذا الإصدار من المكوّن الإضافي لنظام Gradle المتوافق مع Android الميزات الجديدة التالية:
ربط العرض
يضمن ربط العناصر أمان وقت الترجمة عند الإشارة إلى العناصر في
الرمز البرمجي. يمكنك الآن استبدال findViewById()
بمرجع
فئة الربط المنشأة تلقائيًا. لبدء استخدام ربط العرض،
عليك تضمين ما يلي في ملف build.gradle
الخاص بكل وحدة:
android { viewBinding.enabled = true }
android { viewBinding.enabled = true }
لمزيد من المعلومات، يُرجى قراءة مقالة عرض مستندات الربط
إتاحة المكوّن الإضافي Maven Publish
يتضمن المكوّن الإضافي لنظام Gradle المتوافق مع Android دعمًا Maven نشر مكوّن Gradle الإضافي، الذي يسمح لك بنشر عناصر التصميم في مستودع Apache Maven. ينشئ المكوّن الإضافي لنظام Gradle المتوافق مع Android المكوّن لكل عنصر إصدار يمكنك استخدامه في تطبيقك أو في وحدة المكتبة استخدامها لتخصيص جهة النشر إلى مستودع Maven.
لمزيد من المعلومات، انتقِل إلى صفحة كيفية استخدام Maven Publish المكوّن الإضافي.
أداة تلقائية جديدة لتجميع الحزم
عند إنشاء إصدار تصحيح الأخطاء من تطبيقك، يستخدم المكوّن الإضافي
حزمة APK، يُطلق عليها zipflinger، لإنشاء ملف APK. من المفترض أن تؤدي هذه الأدوات الجديدة
إلى تحسين سرعة إنشاء الإصدارات. إذا كانت أداة التغليف الجديدة
لا يعمل كما تتوقع،
يُرجى الإبلاغ عن خطأ. يمكنك العودة إلى
باستخدام أداة التغليف القديمة من خلال تضمين ما يلي في
ملف gradle.properties
:
android.useNewApkCreator=false
إحالة الإصدارات المدمجة مع المحتوى
يمكنك الآن تحديد المدة التي يستغرقها Clang لإنشاء كل ملف C/C++ في مشروعك و ربطه. يمكن أن يُخرج Gradle تتبع Chrome الذي يحتوي على الطوابع الزمنية لأحداث المُجمِّع هذه حتى تتمكّن من معرفة الوقت اللازم لإنشاء مشروعك بشكل أفضل. للحصول على هذا الإصدار يمكنك إجراء ما يلي:
-
إضافة العلامة
-Pandroid.enableProfileJson=true
عند تشغيل إصدار Gradle. مثلاً:gradlew assembleDebug -Pandroid.enableProfileJson=true
-
افتح متصفّح Chrome واكتب
chrome://tracing
في شريط البحث. -
انقر على الزر تحميل وانتقِل إلى
<var>project-root</var>/build/android-profile
للعثور على الملف. اسم الملف هوprofile-<var>timestamp</var>.json.gz
.
يمكنك الاطّلاع على بيانات تحديد المصدر للإصدار الأصلي بالقرب من أعلى المُشاهد:
تغييرات السلوك
عند استخدام هذا الإصدار من المكوّن الإضافي، قد تواجه ما يلي للتغيرات في السلوك.
المكتبات الأصلية التي تم جمعها غير مضغوطة بواسطة تلقائي
عند إنشاء تطبيقك، يحدد المكون الإضافي
extractNativeLibs
إلى "false"
بحلول
الافتراضي. بمعنى أن المكتبات الأصلية تتم محاذاة صفحاتها وتجميعها
غير مضغوط. يترتب على ذلك زيادة حجم التحميل، إلا أنّ المستخدمين
يستفيد مما يلي:
- أصغر حجمًا لتثبيت التطبيق لأن النظام الأساسي يمكنه الوصول إلى التطبيق الأصلي من مكتبات APK المثبَّتة مباشرةً، بدون إنشاء نسخة من المكتبات.
- حجم التنزيل أصغر لأنّ ضغط "متجر Play" يكون عادةً يمكن تحسينه عند تضمين مكتبات مدمجة مع المحتوى غير مضغوطة في حزمة APK أو مجموعة حزمات تطبيق Android.
إذا كنت تريد أن تحزِّم "مكوّن إضافي لـ Gradle في Android" المكتبات المُجمَّعة من رموز برمجية أصلية بدلاً من ذلك، أدرِج ما يلي في ملف بيان تطبيقك:
<application
android:extractNativeLibs="true"
... >
</application>
ملاحظة: بيان extractNativeLibs
تم استبدال السمة بـ useLegacyPackaging
DSL
الخيار. لمزيد من المعلومات، يُرجى الاطّلاع على ملاحظة الإصدار.
استخدام DSL لإنشاء حزمة مضغوطة
المكتبات المجمّعة من رموز برمجية أصلية
إصدار NDK التلقائي
في حال تنزيل إصدارات متعدّدة من حزمة NDK، سيختار الآن المكوّن الإضافي لنظام Gradle في Android
إصدارًا تلقائيًا لاستخدامه في تجميع ملفات الرموز المصدر.
في السابق، حدد المكون الإضافي أحدث نسخة تم تنزيلها من NDK.
استخدِم السمة android.ndkVersion
في
build.gradle
لإلغاء المكوّن الإضافي التلقائي الذي اختاره المكوّن الإضافي.
إنشاء فئة R مبسّطة
يعمل المكوّن الإضافي لنظام Gradle المتوافق مع Android على تبسيط مسار فئة التجميع من خلال إنشاء فئة R واحدة فقط لكل وحدة مكتبة في مشروعك ومشاركة فئات R هذه مع تبعيات الوحدة الأخرى. هذا التحسين إلى إنشاء إصدارات أسرع، إلا أن ذلك يتطلب الحفاظ على مع وضع ما يلي في الاعتبار:
- بما أنّ المُجمِّع يشارك فئات R مع تبعيات الوحدات في المصدر، من المهم أن تستخدم كل وحدة في مشروعك اسم حزمة فريدًا.
- رؤية فئة R في المكتبة لتبعيات المشروع الأخرى
من خلال التهيئة المستخدمة لتضمين المكتبة
والتبعية. على سبيل المثال، إذا كانت المكتبة أ تشتمل على المكتبة ب على أنها "واجهة برمجة تطبيقات"
والمكتبية والمكتبة أ والمكتبات الأخرى التي تعتمد على المكتبة أ
الوصول إلى فئة R في المكتبة ب. ومع ذلك، قد لا تحتوي المكتبات الأخرى على
الوصول إلى فئة R في المكتبة ب. إذا كانت المكتبة "أ" تستخدم
إعدادات التبعية
implementation
. للتعلّم المزيد، قراءة عن تبعية من الإعدادات.
إزالة الموارد المفقودة من الإعدادات التلقائية الإعدادات
بالنسبة إلى وحدات "المكتبة"، في حال تضمين مرجع للغة
عدم تضمينها في المجموعة الافتراضية للموارد - على سبيل المثال، إذا قمت بتضمين
hello_world
كمورد سلسلة في
/values-es/strings.xml
ولكن لم يتم تحديد هذا المورد فيه
/values/strings.xml
: لم يعُد المكوّن الإضافي لنظام Gradle المتوافق مع Android
هذا المورد عند تجميع مشروعك. من المفترض أن يؤدّي تغيير السلوك هذا
إلى تقليل عدد Resource Not Found
استثناءات وقت التشغيل
وتحسين سرعة التصميم.
يراعي D8 الآن سياسة الاحتفاظ ببيانات CLASS للتعليقات التوضيحية.
عند تجميع تطبيقك، يراعي الإصدار D8 الآن الحالات التي تطبّق فيها التعليقات التوضيحية سياسة الاحتفاظ بـ CLASS ، ولا تعود هذه التعليقات التوضيحية متاحة عند التشغيل. ينطبق هذا السلوك أيضًا عند ضبط حزمة تطوير البرامج (SDK) المستهدَفة للتطبيق على المستوى 23 من واجهة برمجة التطبيقات، والذي كان يسمح في السابق بالوصول إلى هذه التعليقات التوضيحية أثناء وقت التشغيل عند تجميع تطبيقك باستخدام إصدارات قديمة من واجهة برمجة التطبيقات Android Gradle المكون الإضافي وD8.
تغييرات أخرى في السلوك
-
لم يعُد تطبيق "
aaptOptions.noCompress
" حسّاسًا لحالة الأحرف على جميع الأجهزة. والأنظمة الأساسية (لكل من حِزم APK والحِزم) وتحترم المسارات التي تستخدم بأحرف كبيرة. -
أصبح ربط البيانات الآن بشكل تدريجي بشكل تلقائي. لمزيد من المعلومات، يُرجى مراجعة المشكلة رقم 110061530.
-
يمكن الآن تخزين جميع اختبارات الوحدة، بما في ذلك اختبارات وحدة Roboelectric، في ذاكرة التخزين المؤقت بالكامل. لمزيد من المعلومات، يُرجى الاطّلاع على المشكلة رقم 115873047.
إصلاح الأخطاء
يتضمّن هذا الإصدار من المكوّن الإضافي لنظام Gradle المتوافق مع Android إصلاحات الأخطاء التالية:
- أصبحت اختبارات الوحدة النمطية متاحة الآن في وحدات المكتبة التي تستخدم وربط البيانات. لمزيد من المعلومات، يُرجى مراجعة المشكلة رقم #126775542.
- يمكنك الآن تنفيذ مهام
connectedAndroidTest
على مستوى وحدات متعددة عندما يكون وضع التنفيذ المتزامن في Gradle مفعّلاً.
المشاكل المعروفة
يصف هذا القسم المشاكل المعروفة في المكوّن الإضافي لنظام Gradle المتوافق مع Android 3.6.0.
بطء أداء مهمة Android Lint
قد يستغرق إكمال عملية فحص Android Lint وقتًا أطول بكثير في بعض المشاريع بسبب التراجع في البنية الأساسية للتحليل، ما يؤدي إلى تباطؤ عملية احتساب الأنواع المستنتجة للوظائف اللامدا في بنى رموز معيّنة.
يتم الإبلاغ عن المشكلة باعتبارها خطأ في IDEA وسيتم إصلاحه في الإصدار 4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android.
عدم توفّر فئة البيان {:#agp-missing-manifest}
إذا حدّد تطبيقك أذونات مخصّصة في ملف البيان الخاص به، سيحدّد نظام Android
ينشئ المكوّن الإضافي Gradle عادةً فئة Manifest.java
التي
يتضمن الأذونات المخصصة كثوابت سلسلة. يُحزم المكوّن الإضافي
هذه الفئة مع تطبيقك، ما يتيح لك الإشارة إلى
هذه الأذونات بسهولة أكبر أثناء التشغيل.
لا يمكن إنشاء فئة البيان في الإصدار 3.6.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android.
إذا أنشأت تطبيقك باستخدام هذا الإصدار من المكوّن الإضافي، وكان يشير إلى
فئة البيان، قد ترى العلامة ClassNotFoundException
. لحلّ هذه المشكلة، يمكنك تنفيذ أحد الإجراءات التالية:
-
يمكنك الإشارة إلى أذوناتك المخصّصة باسمها المحدَّد بالكامل. على سبيل المثال:
"com.example.myapp.permission.DEADLY_ACTIVITY"
-
حدد الثوابت لديك، كما هو موضح أدناه:
public final class CustomPermissions { public static final class permission { public static final String DEADLY_ACTIVITY="com.example.myapp.permission.DEADLY_ACTIVITY"; } }
3.5.0 (آب/أغسطس 2019)
يُعدّ الإصدار 3.5.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، بالإضافة إلى استوديو Android 3.5، إصدارًا مهمًا ونتيجةً لمشروع Marble الذي يركز على تحسين ثلاثة جوانب رئيسية في أدوات مطوّري تطبيقات Android، وهي حالة النظام وتحسين الميزات وإصلاح الأخطاء. ومن الملاحظ أنّ تحسين المشروع سرعة الإصدار كانت محور التركيز الرئيسي في هذا التحديث.
للحصول على معلومات حول هذه التعديلات وغيرها من تحديثات Project Marble، يُرجى الاطّلاع على أجهزة Android مشاركة مدونة المطوّرين أو الأقسام أدناه.
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
-
Gradle 5.4.1 لمزيد من المعلومات، يُرجى الاطّلاع على القسم المعنيّ بموضوع تحديث Gradle.
يتوافق هذا التحديث الثانوي مع الإعدادات التلقائية الجديدة ميزات لـ مستوى عرض الحِزم في Android 11
راجع ملاحظات الإصدار 4.0.1 للحصول على التفاصيل.
3.5.3 (كانون الأول (ديسمبر) 2019)
يتوافق هذا التحديث الثانوي مع الإصدار 3.5.3 من "استوديو Android" ويتضمن أخطاءً مختلفة. إصلاحات وتحسينات في الأداء.
3.5.2 (تشرين الثاني (نوفمبر) 2019)
يتوافق هذا التعديل البسيط مع الإصدار 3.5.2 من "استوديو Android"، ويتضمّن إصلاحات مختلفة للأخطاء وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء الملحوظة، اقرأ المشاركة ذات الصلة على مدوّنة أخبار الإصدارات
3.5.1 (تشرين الأول/أكتوبر 2019)
يتوافق هذا التحديث الثانوي مع الإصدار 3.5.1 من "استوديو Android" ويحتوي على أخطاء مختلفة إصلاحات وتحسينات في الأداء. للاطّلاع على قائمة بالإصلاحات البارزة للأعطال، يُرجى قراءة المشاركة ذات الصلة على مدونة تحديثات الإصدارات.
معالجة التعليقات التوضيحية المتزايدة
تتيح وحدة معالجة التعليقات التوضيحية في ربط البيانات
المعالجة المتزايدة للتعليقات التوضيحية
إذا تم ضبط android.databinding.incremental=true
فيملف
gradle.properties
. يؤدّي هذا التحسين إلى تحسين
أداء الإنشاء المتزايد. للحصول على قائمة كاملة بالتعليق التوضيحي المحسَّن
راجع جدول التعليقات التوضيحية التزايدية
البيانات.
بالإضافة إلى ذلك، يدعم الإصدار KAPT 1.3.30 والإصدارات الأحدث أيضًا التعليقات التوضيحية التزايدية
يمكنك تفعيل هذه المعالجات من خلال تضمين kapt.incremental.apt=true
في
ملف gradle.properties
.
اختبارات الوحدة القابلة للتخزين المؤقت
عند تفعيل اختبارات الوحدة لاستخدام موارد Android ومواد العرض
البيانات من خلال الإعداد
includeAndroidResources
إلى true
، ينشئ المكوّن الإضافي لنظام Gradle المتوافق مع Android ملف إعداد اختباري
يحتوي على مسارات مطلقة، ما يؤدي إلى إيقاف إمكانية تغيير موقع ذاكرة التخزين المؤقت. يمكنك توجيه
المكون الإضافي لإنشاء تهيئة الاختبار باستخدام المسارات النسبية، والتي
السماح بتخزين المهمة AndroidUnitTest
بشكل كامل، عن طريق
بما في ذلك ما يلي في ملف gradle.properties
:
android.testConfig.useRelativePath = true
المشاكل المعروفة
-
عند استخدام الإصدار 1.3.31 من المكوّن الإضافي Kotlin Gradle أو الإصدارات الأقدم، قد تظهر لك التحذير التالي عند إنشاء مشروعك أو مزامنته:
WARNING: API 'variant.getPackageLibrary()' is obsolete and has been replaced with 'variant.getPackageLibraryProvider()'.
الحل هذه المشكلة، ترقية المكون الإضافي إلى الإصدار 1.3.40 أو أعلى.
3.4.0 (نيسان (أبريل) 2019)
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
-
أداة Gradle 5.1.1 أو الإصدارات الأحدث لمزيد من المعلومات، يُرجى الاطّلاع على القسم المعنيّ بموضوع تحديث Gradle.
ملاحظة: عند استخدام Gradle 5.0 والإصدارات الأحدث، يتم تقليل حجم ذاكرة "الخادم الخفي" التلقائي في Gradle من 1 غيغابايت إلى 512 ميغابايت. وقد يؤدي ذلك إلى تراجع في أداء الإصدار. لإلغاء هذا الإعداد التلقائي، تحديد حجم البرامج الخفيفة لنظام Gradle في ملف
gradle.properties
الخاص بمشروعك. -
أدوات إنشاء حِزم SDK 28.0.3 أو إصدار أحدث
يتوافق هذا التحديث الثانوي مع الإعدادات التلقائية الجديدة ميزات لـ مستوى عرض الحِزم في Android 11
اطّلِع على ملاحظات إصدار 4.0.1 لمعرفة التفاصيل.
3.4.2 (تموز (يوليو) 2019)
يتوافق هذا التحديث الثانوي مع الإصدار 3.4.2 من "استوديو Android" ويحتوي على أخطاء مختلفة إصلاحات وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء الملحوظة، اقرأ المشاركة ذات الصلة على مدوّنة أخبار الإصدارات
3.4.1 (أيار (مايو) 2019)
يتوافق هذا التحديث الثانوي مع الإصدار 3.4.1 من "استوديو Android" ويحتوي على أخطاء مختلفة إصلاحات وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء الملحوظة، اقرأ المشاركة ذات الصلة على مدوّنة أخبار الإصدارات
الميزات الجديدة
-
عمليات ضبط التبعية الجديدة لفحص أداة Lint: تغير سلوك
lintChecks
وأصبحت تبعية جديدةlintPublish
، تم تقديمهما لمنح يمكنك التحكم بشكل أكبر في عمليات فحص Lint التي يتم جمعها في نظام Android المكتبات.-
lintChecks
: هذا إعداد حالي ينبغي لك استخدامها لعمليات فحص الوبر التي تريد تشغيلها فقط عند إنشاء لمشروعك محليًا. إذا كنت تستخدم في السابق إعداد تبعيةlintChecks
لتضمين أداة Lint في AAR المنشورة، فيجب نقل هذه التبعيات لاستخدام إعداداتlintPublish
الجديدة بدلاً من ذلك الموضحة أدناه. -
lintPublish
: استخدام هذه الإعدادات الجديدة في المكتبة الخاصة بعمليات فحص Lint التي تريد تضمينها في AAR المنشورة، كما هو موضح أدناه. وهذا يعني أن المشروعات التي تستهلك مكتبتك بتطبيق فحوصات Lint أيضًا.
يستخدم نموذج التعليمات البرمجية التالي عمليات ضبط التبعية في مشروع مكتبة Android المحلي.
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks project(':lint') // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish project(':lintpublish') }
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks(project(":lint")) // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish(project(":lintpublish")) }
-
بشكل عام، يجب أن يكون تصميم المهام في حزمة وتوقيعها بمثابة تصميم عام. تحسين السرعة. إذا لاحظت تراجعًا في الأداء يتعلق هذه المهام، يُرجى الإبلاغ عن خطأ.
-
تغييرات السلوك
-
إيقاف المكوّن الإضافي لميزة تطبيقات Android الفورية تحذير: إذا كنت لا تزال تستخدم المكوّن الإضافي
com.android.feature
لإنشاء تطبيقك الفوري، سيصدر لك الإصدار 3.4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android تحذيرًا بالإيقاف النهائي. للتأكّد من أنّه سيظل بإمكانك إنشاء تطبيقك الفوري على الإصدارات المستقبلية من المكوّن الإضافي، عليك نقل تطبيقك الفوري لاستخدام مكوّن الإضافي للميزات الديناميكية، الذي يتيح لك أيضًا نشر تجربتَي التطبيق المثبَّت والتطبيق الفوري من حِزمة تطبيق Android واحدة. -
R8 مفعَّل تلقائيًا: يدمج R8 إزالة الترميز المُبسّط، والتصغير، والتشويه، والتحسين، وإزالة الترميز، وكل ذلك في خطوة واحدة، ما يؤدي بدوره إلى تحسينات ملحوظة في أداء عملية الإنشاء . تم طرح R8 في الإصدار 3.3.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، وهو مفعّل الآن تلقائيًا لكلٍّ من مشاريع التطبيقات ومكتبات Android باستخدام الإصدار 3.4.0 من المكوّن الإضافي والإصدارات الأحدث.
تقدم الصورة أدناه نظرة عامة عالية المستوى على عملية التجميع قبل تقديم R8.

والآن، باستخدام تنسيق R8، إزالة الأخطاء الناجمة عن المحتوى وتقليصه، وإخفاء مفاتيح فك التشفير، والتحسين، والفهرسة (D8) يتم الانتهاء منها جميعًا في خطوة واحدة، كما هو موضح أدناه.

يُرجى العِلم أنّ أداة R8 مصمّمة للعمل مع قواعد ProGuard الحالية، لذلك من المرجّح ألا تحتاج إلى اتّخاذ أي إجراءات للاستفادة من أداة R8. ومع ذلك، بما أنّها تقنية مختلفة عن ProGuard المصمّمة خصيصًا لمشاريع Android، قد يؤدي التصغير والتحسين إلى إزالة رمز برمجي قد لا يزيلّه ProGuard. لذلك، في هذا الموقف غير المحتمل، قد تحتاج لإضافة قواعد أخرى للاحتفاظ بهذه الرمز في نتائج الإصدار.
إذا كنت تواجه مشكلات في استخدام R8، فاطلع على
الأسئلة الشائعة حول توافق R8
للتحقّق ممّا إذا كان هناك حلّ لمشكلتك. إذا لم يتم توثيق حلّ،
يُرجى الإبلاغ عن خطأ.
يمكنك تعطيل R8 عن طريق إضافة أحد الأسطر التالية إلى سطر مشروعك
ملف gradle.properties
:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
ملاحظة: بالنسبة إلى نوع إصدار معيّن، في حال ضبط
من useProguard
إلى false
في تطبيقك
build.gradle
الخاص بالوحدة، يستخدم المكوّن الإضافي لنظام Gradle المتوافق مع Android R8
لتقليص حجم رمز التطبيق
لنوع الإصدار هذا، بغض النظر عما إذا
تعطيل R8 في ملف gradle.properties
لمشروعك.
-
تم إيقاف
ndkCompile
نهائيًا: ستحصل الآن على إذا حاولت استخدامndkBuild
لتجميع المكتبات الأصلية. وبدلاً من ذلك، يجب عليك استخدام CMake أو ndk-build أضف رمزي C وC++ إلى مشروعك.
المشاكل المعروفة
-
لا يتم حاليًا فرض الاستخدام الصحيح لأسماء الحِزم الفريدة. ولكنها ستصبح أكثر صرامة في الإصدارات اللاحقة من المكوِّن الإضافي. في الإصدار 3.4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android، يمكنك تفعيل ميزة التحقّق مما إذا كان مشروعك يعلن عن أسماء الحِزم المقبولة من خلال إضافة السطر أدناه إلىملف
gradle.properties
.android.uniquePackageNames = true
مزيد من المعلومات حول ضبط اسم حزمة من خلال نظام Gradle المتوافق مع Android المكون الإضافي، راجع اضبط رقم تعريف التطبيق.
3.3.0 (كانون الثاني/يناير 2019)
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
-
Gradle 4.10.1 أو إصدار أحدث لمزيد من المعلومات، يُرجى الاطّلاع على القسم المعنيّ بموضوع تحديث Gradle.
ملاحظة: عند استخدام Gradle 5.0 والإصدارات الأحدث، ينخفض حجم ذاكرة heap التلقائي لبرنامج Gradle الخفي من 1 غيغابايت إلى 512 ميغابايت. هذا النمط إلى تراجع في أداء الإصدار. لتجاوز هذا الإعداد التلقائي، حدِّد حجم ذاكرة تخزين Gradle المخفية في ملف
gradle.properties
الخاص بمشروعك. -
أدوات إنشاء حِزم SDK 28.0.3 أو إصدار أحدث
يدعم هذا التحديث البسيط التوافق مع الإعدادات التلقائية الجديدة ميزات لـ مستوى عرض الحِزم في Android 11
اطّلِع على ملاحظات إصدار 4.0.1 لمعرفة التفاصيل.
3.3.2 (آذار (مارس) 2019)
يتوافق هذا التعديل البسيط مع الإصدار 3.3.2 من "استوديو Android"، ويتضمّن إصلاحات مختلفة للأخطاء وتحسينات في الأداء. للاطّلاع على قائمة بإصلاحات الأخطاء الملحوظة، اقرأ المشاركة ذات الصلة على مدوّنة أخبار الإصدارات
3.3.1 (شباط (فبراير) 2019)
يتوافق هذا التحديث الثانوي مع الإصدار 3.3.1 من "استوديو Android" ويحتوي على أخطاء مختلفة إصلاحات وتحسينات في الأداء.
الميزات الجديدة
-
تحسين مزامنة مسار الصف: عند الحل الذي يعتمد على وقت التشغيل ومسارات فئات وقت التجميع، يحاول المكوِّن الإضافي لـ Gradle إصلاح بعض التعارضات في إصدارات ما بعد بيع المنتج والتبعيات التي تظهر عبر مسارات الفئات المتعددة.
على سبيل المثال، إذا كان مسار الفئة في بيئة التشغيل يتضمن الإصدار 2.0 من المكتبة أ يتضمن تجميع classpath للمكتبة أ الإصدار 1.0، فإن المكون الإضافي تلقائيًا بتحديث التبعية في مسار تصنيف التجميع إلى الإصدار 2.0 من المكتبة أ لتجنب الأخطاء.
ومع ذلك، إذا كان مسار فئة بيئة التشغيل يتضمن الإصدار 1.0 من المكتبة أ التجميع على الإصدار 2.0 من المكتبة، فلا يتيح المكون الإضافي الرجوع إلى بالتبعية على مسار فئة التجميع إلى الإصدار 1.0 من المكتبة أ، وستحصل على خطأ. لمزيد من المعلومات، يُرجى مراجعة حل التعارضات بين مسارات الفئات.
-
تحسين عملية تجميع Java المتزايدة عند استخدام معالجات التعليقات التوضيحية: يقلل هذا التعديل من وقت الإنشاء من خلال تحسين التوافق مع عملية تجميع Java المتزايدة عند استخدام معالجات التعليقات التوضيحية.
ملاحظة: هذه الميزة متوافقة مع Gradle 4.10.1 والإصدارات الأحدث، باستثناء Gradle 5.1 بسبب Gradle المشكلة رقم 8194.
-
بالنسبة إلى المشاريع التي تستخدم Kapt (معظم مشروعات Kotlin فقط المشاريع المختلطة من Kotlin-Java: تجميع Java تزايدي. حتى عند استخدام ربط البيانات أو كتابة lambda المكون الإضافي. معالجة التعليقات التوضيحية في مهمة Kapt لم تتم تزايدها بعد.
-
بالنسبة إلى المشاريع التي لا تستخدم Kapt (مشاريع Java فقط): إذا معالجات التعليقات التوضيحية التي تستخدمها كل الدعم المعالجة المتزايدة للتعليقات التوضيحية يتم تمكين تجميع Java التزايدي بشكل افتراضي. لمراقبة التزايد استخدام معالج التعليقات التوضيحية، الساعة مشكلة Gradle 5277.
ومع ذلك، إذا كان هناك معالج واحد أو أكثر للتعليقات التوضيحية لا يتيح عمليات الإنشاء المتزايدة، لن يتم تفعيل عملية الترجمة المبرمَجة المتزايدة لـ Java. بدلاً من ذلك، يمكنك تضمين العلامة التالية في ملف
gradle.properties
:android.enableSeparateAnnotationProcessing=true
عند تضمين هذا الخيار، ينفِّذ المكوّن الإضافي لـ Android Gradle معالجات التعليقات التوضيحية في مهمة منفصلة ويسمح بتنفيذ مهمة معالجة Java بشكل تدريجي.
-
-
معلومات تصحيح أخطاء أفضل عند استخدام واجهة برمجة تطبيقات قديمة: عند استخدام المكون الإضافي أن تستخدم واجهة برمجة تطبيقات لم تعد متاحة، فيمكنها الآن تقديم معلومات أكثر تفصيلاً لمساعدتك في تحديد مكان استخدام واجهة برمجة التطبيقات. للاطّلاع على المعلومات الإضافية، عليك تضمين ما يلي في ملف
gradle.properties
للمشروع:android.debug.obsoleteApi=true
يمكنك أيضًا تمكين العلامة من خلال المرور
-Pandroid.debug.obsoleteApi=true
من سطر الأوامر. -
ويمكنك إجراء اختبارات قياس حالة التطبيق على وحدات الميزات من خلال الأمر الخط.
تغييرات السلوك
-
ضبط المهام بشكلٍ غير فوري: يستخدم المكوّن الإضافي الآن واجهة برمجة التطبيقات الجديدة لإنشاء المهام في Gradle لتجنُّب بدء المهام وضبطها إذا لم تكن مطلوبة لإكمال عملية التصميم الحالية (أو المهام غير المضمّنة في الرسم البياني لمهام التنفيذ). على سبيل المثال، إذا كان لديك عدة أنواع من الإصدارات، مثل "الإصدار العلني" و"إصدار تصحيح الأخطاء"، وكنت بصدد إنشاء الإصدار "إصدار تصحيح الأخطاء" من تطبيقك، سيتجنّب المكوّن الإضافي بدء المهام وضبطها للإصدار "الإصدار العلني" من تطبيقك.
يمكنك استدعاء بعض الطرق القديمة في Variants API، مثل
variant.getJavaCompile()
، قد يستمر في فرض ضبط المهمة. وللتأكد من أن تحسين تصميمك بما يتوافق مع إعدادات المهام الكسولة، واستدعاء طرق جديدة والتي تُرجع بدلاً من ذلك TaskProvider كائن، مثلvariant.getJavaCompileProvider()
.إذا نفَّذت مهام إنشاء مخصّصة، تعرَّف على طريقة التكيّف مع واجهة برمجة التطبيقات الجديدة لإنشاء المهام في Gradle
-
بالنسبة إلى نوع إصدار معيّن، عند ضبط
useProguard false
، يصبح المكوِّن الإضافي الآن R8 بدلاً من ProGuard لتقليص حجم التعليمات البرمجية للتطبيق وتشويشه الموارد. لمزيد من المعلومات حول R8، يمكنك قراءة مشاركة المدونة هذه من مدوّنة مطوّري تطبيقات Android. -
إنشاء فئة R بشكل أسرع لمشاريع المكتبات: في السابق، كان المكوّن الإضافي لنظام Gradle المتوافق مع Android ينشئ ملفًا
R.java
لكل ملف من ملفات الاعتماد في مشروعك، ثم يجمع فئات R هذه مع فئات تطبيقك الأخرى. ينشئ المكوّن الإضافي الآن ملف JAR يحتوي على فئة R المُجمَّعة لتطبيقك مباشرةً، بدون إنشاء فئاتR.java
وسيطة أولاً. هذا النمط قد يؤدي التحسين إلى تحسين أداء إنشاء المشروعات بشكل كبير تضمين العديد من المشروعات الفرعية والتبعيات للمكتبات، وتحسين الفهرسة السرعة في Android Studio -
عند إنشاء مجموعة حزمات تطبيق Android، تتضمّن حِزم APK التي يتم إنشاؤها من حِزمة التطبيق التي تستهدف الإصدار 6.0 من نظام التشغيل Android (المستوى 23 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث الآن إصدارات غير مضغوطة من مكتباتك المجمّعة من رموز برمجية أصلية تلقائيًا. هذا التحسين تتجنب الحاجة إلى أن ينشئ الجهاز نسخة من المكتبة وبالتالي يقلل حجم التطبيق على القرص. إذا أردت إيقاف هذا التحسين، أضِف ما يلي إلى ملف
gradle.properties
:android.bundle.enableUncompressedNativeLibs = false
-
تفرض المكوّنة الإضافية الحدّ الأدنى من إصدارات بعض المكوّنات الإضافية التابعة لجهات خارجية.
-
مزامنة مشروع يحتوي على متغير واحد: مزامنة مشروعك مع إعدادات تصميمك خطوة مهمة في السماح لـ "استوديو Android" فهم كيفية تنظيم مشروعك. ومع ذلك، يمكن تنفيذ هذه العملية تستغرق وقتًا طويلاً للمشروعات الكبيرة. إذا كان مشروعك يستخدم إصدارات متعددة يمكنك الآن تحسين مزامنات المشروع من خلال حصرها على الصيغة التي اخترتها حاليًا.
يجب استخدام الإصدار 3.3 من "استوديو Android" أو إصدار أحدث مع الإصدار 3.3.0 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" أو أعلى منها لتفعيل هذا التحسين. عند استيفاء هذه المتطلبات، يطلب منك IDE تفعيل هذا التحسين عند مزامنة مشروعك. تشير رسالة الأشكال البيانية يتم تفعيل التحسين أيضًا بشكل تلقائي في المشاريع الجديدة.
لتفعيل هذا التحسين يدويًّا، انقر على ملف >. الإعدادات > ميزة تجريبية > Gradle (استوديو Android > الإعدادات المفضّلة > تجريبي > Gradle على Mac) وضَع علامة في مربّع الاختيار مزامنة السعر المتغير النشط فقط.
ملاحظة: يدعم هذا التحسين المشاريع التي تتضمن لغات Java وC++، وتدعم لغة Kotlin. عند تفعيل التحسين للمشاريع التي تحتوي على محتوى Kotlin، يعود Gradle sync إلى استخدام الصيغ الكاملة داخليًا.
-
التنزيل التلقائي لحِزم SDK غير المتوفّرة: تحتوي هذه الوظيفة على وقد تم توسيعها لدعم NDK. لمزيد من المعلومات، يُرجى قراءة التنزيل التلقائي مفقود باستخدام Gradle.
إصلاح الأخطاء
-
يعمل الإصدار 3.3.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android على إصلاح المشاكل التالية:
- عملية التصميم التي تستدعي "
android.support.v8.renderscript.RenderScript
" بدلاً من إصدار AndroidX، على الرغم من تفعيل Jetifier - تعارضات بسبب
androidx-rs.jar
، بما في ذلك الحِزم المجمّعة بشكل ثابتannotation.AnyRes
- عند استخدام RenderScript، لم يعُد عليك ضبط إصدار "أدوات الإنشاء"
يدويًا في ملفات
build.gradle
.
- عملية التصميم التي تستدعي "
3.2.0 (أيلول/سبتمبر 2018)
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
- Gradle 4.6 أو أعلى. لمعرفة المزيد، اقرأ القسم حول تحديث Gradle.
- أدوات إنشاء حِزم تطوير البرامج (SDK) 28.0.3 أو أحدث.
3.2.1 (تشرين الأول/أكتوبر 2018)
بعد هذا التعديل، لن تحتاج إلى تحديد إصدار لأدوات إنشاء حِزم SDK. أصبح المكوّن الإضافي لنظام Gradle المتوافق مع Android يستخدم الآن الإصدار 28.0.3 تلقائيًا.
الميزات الجديدة
-
إتاحة إنشاء حِزم تطبيقات Android: حِزمة التطبيق هي تنسيق تحميل جديد يتضمّن جميع الرموز البرمجية المجمّعة ومواد العرض في تطبيقك، مع تأجيل إنشاء حِزم APK وتوقيعها إلى "متجر Google Play". لم تعد وإنشاء حِزم APK متعددة وتوقيعها وإدارتها، وبذلك يحصل المستخدمون على تنزيلات أصغر تم تحسينها لتعمل على أجهزتهم. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة لمحة عن حِزم تطبيق Android.
-
إتاحة سرعات إضافية محسّنة عند استخدام برامج معالجة التعليقات التوضيحية:
AnnotationProcessorOptions
أصبحت خدمة DSL توفّر الآنCommandLineArgumentProvider
التي تتيح لك أو للمؤلف الذي يعالج التعليقات التوضيحية إضافة تعليقات توضيحية الوسيطات للمعالج باستخدام تعليقات توضيحية لنوع موقع الإصدار التزايدي: يؤدي استخدام هذه التعليقات التوضيحية إلى تحسين صحة وأداء عمليات الإنشاء النظيفة المتزايدة والمخزّنة مؤقتًا. لمزيد من المعلومات، يُرجى قراءة تمرير الوسيطات إلى معالِجات التعليقات التوضيحية: -
أداة نقل البيانات لنظام AndroidX: عند استخدام المكوّن الإضافي 3.2.0 لنظام Gradle المتوافق مع Android مع الإصدار 3.2 من Android والإصدارات الأحدث، يمكنك نقل بيانات مشروعك على الجهاز والإصدار Maven الاعتمادية لاستخدام مكتبات AndroidX الجديدة من خلال اختيار Refactor > الانتقال إلى AndroidX من شريط القوائم يؤدي استخدام أداة نقل البيانات هذه أيضًا إلى ضبط العلامات التالية على
true
في ملفgradle.properties
:-
android.useAndroidX
: عند الضبط علىtrue
، يستخدم مكوّن Android الإضافي مكتبة AndroidX المناسبة بدلاً من مكتبة الدعم. متى يتم وضع هذه العلامة لم يتم تحديده، يعيّنه المكوّن الإضافي إلىfalse
تلقائيًا. -
android.enableJetifier
: عند ضبط القيمة علىtrue
، يؤدي المكوّن الإضافي لنظام التشغيل Android إلى نقل المكتبات الحالية التابعة لجهات خارجية تلقائيًا لاستخدام AndroidX من خلال إعادة كتابة ملفاتها الثنائية. في حال عدم تحديد هذه العلامة، يضبط المكوّن الإضافي إلىfalse
تلقائيًا. يمكنك ضبط هذه العلامة علىtrue
فقط أثناء تم ضبطandroid.useAndroidX
أيضًا علىtrue
، وإلا سيظهر خطأ في الإصدار.للتعرف على مزيد من المعلومات، يمكنك الاطلاع على نظرة عامة على AndroidX.
-
-
أداة تقليص الرموز الجديدة R8: R8 هي أداة جديدة لتصغير أو تشويش الرموز البرمجية. يحل محل ProGuard. يمكنك بدء استخدام الإصدار التجريبي من R8 من خلال تضمين ما يلي في ملف
gradle.properties
الخاص بمشروعك:android.enableR8 = true
android.enableR8 = true
تغييرات السلوك
-
تم تفعيل عملية إزالة السكر باستخدام D8 تلقائيًا.
-
يتوفّر الآن نموذج AAPT2 في مستودع Maven من Google. لاستخدام AAPT2، تأكد من تعتمد على
google()
فيbuild.gradle
كما هو موضح أدناه:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
يتم الآن تفعيل الإعداد المتعدد الأبعاد الأصلي بشكل تلقائي. كانت الإصدارات السابقة من Android Studio تتيح استخدام حِزم multidex الأصلية عند نشر إصدار تصحيح الأخطاء من التطبيق على جهاز يعمل بالإصدار 21 من واجهة برمجة التطبيقات لنظام التشغيل Android أو إصدار أحدث. والآن، سواء كنت تنشر المكوّن الإضافي لنظام Gradle المتوافق مع Android أو في إنشاء حزمة APK لإصداره، أو تعمل هذه السياسة على تفعيل ميزة "فحص متعدّد القنوات" أصلية لجميع الوحدات التي يتم إعدادها
minSdkVersion=21
أو أعلى. -
يفرض المكون الإضافي الآن حدًّا أدنى لإصدار المكون الإضافي Protobuf (0.8.6)، المكون الإضافي لـ Kotlin (1.2.50) والمكون الإضافي Crashlytics (1.25.4).
-
المكوّن الإضافي لوحدة الميزات،
com.android.feature
، على استخدام الأحرف والأرقام والشرطات السفلية فقط عند تحديد اسم الوحدة. على سبيل المثال، إذا كان اسم وحدة الميزات يتضمّن شرطات، سيظهر لك خطأ في الإنشاء. يتطابق هذا السلوك مع سلوك الميزة الديناميكية المكون الإضافي.
إصلاح الأخطاء
- JavaCompile الآن قابل للتخزين المؤقت في المشاريع ذات ربط البيانات. (المشكلة رقم 69243050)
- تجنُّب أفضل للترجمة في وحدات المكتبة التي تستخدم ربط البيانات (المشكلة رقم 77539932)
- يمكنك الآن إعادة تفعيل ميزة الضبط عند الطلب إذا كنت قد أوقفتها في الإصدارات السابقة بسبب بعض أخطاء الإنشاء غير المتوقّعة. (المشكلة رقم 77910727)
3.1.0 (آذار/مارس 2018)
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
-
Gradle 4.4 أو إصدار أحدث
لمعرفة المزيد، اقرأ القسم حول تحديث Gradle.
-
أدوات الإنشاء 27.0.3 أو أحدث.
تجدر الإشارة إلى أنّك لم تعُد بحاجة إلى تحديد إصدار للتصميم. باستخدام السمة
android.buildToolsVersion
، وهي المكون الإضافي الحد الأدنى من الإصدار المطلوب افتراضيًا.
مُجمِّع DEX جديد، D8
يستخدم "استوديو Android" الآن بشكل تلقائي مُجمِّع DEX جديدًا يُسمى D8. مفتاح DEX
التجميع هو عملية تحويل رمز البايت .class
إلى
رمز بايت .dex
لـ "وقت تشغيل Android" (أو Dalvik، للإصدارات الأقدم
Android). بالمقارنة مع برنامج التجميع السابق، المسمى DX، وD8
تقوم بتجميع البيانات بشكل أسرع وإخراج ملفات DEX أصغر، مع وجود نفس
أداءً أفضل في وقت تشغيل التطبيق
يجب ألا يغيّر D8 سير العمل اليومي لتطوير التطبيقات. ومع ذلك، إذا
إذا كنت تواجه أي مشكلات تتعلق بالمجمّع الجديد، يُرجى
الإبلاغ عن خطأ. يمكنك مؤقتًا
إيقاف D8 واستخدام DX من خلال تضمين ما يلي فيملف
gradle.properties
الخاص بمشروعك:
android.enableD8=false
بالنسبة إلى المشاريع التي
تستخدم ميزات لغة Java 8،
يتم تفعيل ميزة إزالة الرمز البرمجي تدريجيًا تلقائيًا. يمكنك إيقافه من خلال
تحديد ما يلي في ملف gradle.properties
الخاص بمشروعك:
android.enableIncrementalDesugaring=false.
معاينة المستخدمين: إذا كنت تستخدم إصدار معاينة D8 حاليًا، يُرجى ملاحظة أنه يجمع الآن مقابل المكتبات المضمنة في أدوات إنشاء حزمة تطوير البرامج (SDK): وليس JDK. وبالتالي، إذا كنت تصل إلى واجهات برمجة التطبيقات المتوفّرة في حزمة JDK ولكن ليس في مكتبات أدوات إنشاء حزمة SDK، ستظهر لك رسالة خطأ في الترجمة.
تغييرات السلوك
-
عند إنشاء عدة حِزم APK يستهدف كل منها واجهة تطبيق ثنائية (ABI) مختلفة، لم تعد تنشئ حِزم APK لواجهات التطبيق الثنائية (ABI) التالية تلقائيًا: "
mips
" وmips64
" و"armeabi
"إذا كنت تريد إنشاء حِزم APK تستهدف واجهات التطبيق الثنائية (ABI) هذه، عليك استخدام NDK r16b أو أقل تحديد واجهات التطبيق الثنائية (ABI) في ملف
build.gradle
، كما هو موضّح أدناه:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
تُزيل الآن الذاكرة المخبأة للإنشاء في المكوّن الإضافي لنظام التشغيل Android إدخالات الذاكرة المخبأة التي مرّ عليها أكثر من 30 يومًا.
-
تمرير
"auto"
إلىresConfig
لم يعد يختار تلقائيًا موارد السلسلة لتضمينها في حزمة APK. في حال مواصلة استخدام"auto"
، يحزم المكوّن الإضافي جميع موارد السلاسل التي يوفّرها تطبيقك وتبعياته. لذلك، عليك بدلاً من ذلك تحديد كل لغة تريد أن ينشئ المكوّن الإضافي حِزمة لها في حزمة APK. -
وبما أنّ الوحدات المحلية لا يمكنها الاعتماد على حِزمة APK الاختبارية لتطبيقك، فإنّ إضافة والتبعية إلى اختباراتك المعدّة باستخدام إعداد
androidTestApi
، بدلاً منandroidTestImplementation
، إلى إصدار Gradle التحذير التالي:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
الإصلاحات
- حلّ مشكلة عدم التعرّف على "استوديو Android" بشكل صحيح والتبعيات في البناء المركب.
- إصلاح المشكلة المتمثلة في ظهور خطأ في مزامنة المشروع عند تحميل مكوّن Android الإضافي عدة مرات في إصدار واحد، على سبيل المثال، عند إجراء عدة عمليات تتضمن كل مشاريع فرعية مكوّن Android الإضافي في نص الإصدار الخاص بها. classpath.
3.0.0 (تشرين الأول/أكتوبر 2017)
يتضمن الإصدار 3.0.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android مجموعة متنوعة من التغييرات التي تهدف إلى معالجة مشكلات أداء المشروعات الكبيرة.
على سبيل المثال، في عينة من الهيكل العظمي يحتوي على حوالي 130 وحدة وعددًا كبيرًا من الاعتماديات الخارجية (ولكن بدون رموز أو موارد)، يمكنك تجربة تحسينات في الأداء مشابه لما يلي:
إصدار المكوّن الإضافي لنظام Android + إصدار Gradle | الإصدار 2.2.0 من المكوّن الإضافي لنظام Android والإصدار 2.14.1 من Gradle | الإصدار 2.3.0 من المكوّن الإضافي لنظام Android والإصدار 3.3 من Gradle | المكوّن الإضافي لنظام Android 3.0.0 + Gradle 4.1 |
---|---|---|---|
الإعداد (مثل تشغيل ./gradlew --help ) |
حوالي دقيقتين | 9 ثوانٍ تقريبًا | 2.5 ثانية تقريبًا |
تغيير Java يتكون من سطر واحد (تغيير التنفيذ) | حوالي دقيقتين و15 ثانية | 29 ثانية تقريبًا | 6.4 ثانية تقريبًا |
تؤدي بعض هذه التغييرات إلى إيقاف التصميمات الحالية. لذلك، يجب أن تفكر في\ الجهد المبذول في ترحيل مشروعك قبل استخدام المكون الإضافي الجديد.
إذا لم تلاحظ تحسينات الأداء الموضّحة أعلاه، يُرجى إبلاغنا بخطأ وتضمين سجلّ لإصدارك باستخدام Gradle Profiler.
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
- إصدار 4.1 من Gradle أو أعلى. لمعرفة المزيد، اقرأ القسم الذي يتناول تحديث Gradle.
-
أدوات الإنشاء 26.0.2
أو أعلى. من خلال هذا التحديث، لم تعد بحاجة إلى تحديد إصدار
أدوات الإنشاء — يستخدم المكون الإضافي الحد الأدنى من الإصدار المطلوب افتراضيًا.
وبالتالي، يمكنك الآن إزالة الموقع
android.buildToolsVersion
.
3.0.1 (تشرين الثاني (نوفمبر) 2017)
هذا تحديث ثانوي للتوافق مع الإصدار 3.0.1 من "استوديو Android" ويتضمن إصلاح الأخطاء وتحسينات في الأداء.
التحسينات
- توفُّر توازٍ أفضل للمشاريع المتعدّدة الوحدات من خلال رسم بياني مفصّل للمهام
- عند إجراء تغييرات على التبعية، يُجري Gradle عمليات إنشاء أسرع من خلال عدم
إعادة تجميع الوحدات التي لا يمكنها الوصول إلى واجهة برمجة التطبيقات الخاصة بهذه التبعية.
يجب تقييد الاعتمادية التي تسرّب واجهات برمجة التطبيقات الخاصة بها إلى وحدات أخرى من خلال
استخدام
إعدادات التبعية الجديدة في Gradle:
implementation
وapi
وcompileOnly
وruntimeOnly
. - سرعة إنشاء متزايدة بشكل أسرع بسبب المعالجة لكل فئة. تكون كل فئة
يتم تجميعها الآن في ملفات DEX منفصلة، وتكون فقط الفئات
التي تم تعديلها وإعادة تفويضها. يجب أن تتوقع أيضًا سرعات إصدار محسّنة
التطبيقات التي تضبط
minSdkVersion
على 20 أو أقل وتستخدم دليل المستندات المتعدد القديم. - تم تحسين سرعات التصميم من خلال تحسين مهام معيّنة لاستخدام النتائج المؤقَّتة. للاستفادة من هذا التحسين، عليك أولاً تفعيل ذاكرة التخزين المؤقت لإنشاء Gradle.
- معالجة أفضل للموارد المتزايدة باستخدام AAPT2، وهو الآن فعال
تلقائيًا إذا كنت تواجه مشاكل أثناء استخدام AAPT2،
يُرجى الإبلاغ عن خطأ. يمكنك أيضًا
إيقاف AAPT2 من خلال ضبط
android.enableAapt2=false
فيملفgradle.properties
وإعادة تشغيل برنامج Gradle الخفي من خلال تشغيل./gradlew --stop
من سطر الأوامر.
الميزات الجديدة
- التبعية الواعية للخيارات المشروع. عند إنشاء متغير معين من وحدة ما، سيتعين على المكون الإضافي الآن يطابق تلقائيًا متغيرات تبعيات وحدة المكتبة المحلية مع مختلف الوحدة التي تقوم بإنشائها.
- يتضمّن المكوّن الإضافي الجديد لوحدة الميزات تطبيقات Android الفورية وحزمة تطوير برامج تطبيقات Android الفورية (التي يمكنك تنزيلها باستخدام أداة إدارة حِزم SDK). للاطّلاع على مزيد من المعلومات عن إنشاء وحدات ميزات باستخدام المكوّن الإضافي الجديد، يمكنك قراءة مقالة بنية تطبيق فوري يتضمّن ميزات متعددة.
- دعم مدمج لاستخدام بعض ميزات لغة Java 8 وJava 8 المكتبات. تم إيقاف "جاك" نهائيًا ولم يعُد مطلوبًا، ويمكنك يجب أولاً تعطيل Jack لاستخدام دعم Java 8 المحسّن المضمن في سلسلة الأدوات الافتراضية. لمزيد من المعلومات، يُرجى قراءة استخدام ميزات لغة Java 8
-
دعم إضافي لإجراء الاختبارات باستخدام أجهزة Android Test Orchestrator: الذي يسمح لك بإجراء كل اختبار من اختبارات تطبيقك ضمن استدعاءها الخاص للأدوات. بما أنّ كل اختبار يتم تشغيله في مثيل أدوات القياس الخاص به، لا تتراكم أي حالة مشترَكة بين الاختبارات في وحدة المعالجة المركزية أو الذاكرة على جهازك. وحتى إذا تعطّل أحد الاختبارات، تتم إزالته. مثيلها الخاص فقط من قياس حالة التطبيق، وبالتالي تظل الاختبارات الأخرى قيد التنفيذ.
- تمت إضافة
testOptions.execution
لتحديد ما إذا كان سيتم استخدام عملية تنسيق الاختبار على الجهاز. إذا كنت ترغب في استخدام مُنسّق الاختبارات من Android، عليك تحديدANDROID_TEST_ORCHESTRATOR
، كما هو موضّح أدناه. بشكل افتراضي، يتم ضبط السمة علىHOST
، ما يؤدي إلى إيقاف الإعداد على الجهاز فقط. التنسيق وهو الطريقة القياسية لإجراء الاختبارات.
رائع
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- تمت إضافة
-
تسمح لك إعدادات تبعية
androidTestUtil
الجديدة بما يلي: تثبيت حِزمة APK أخرى مساعِدة للاختبار قبل إجراء اختبارات الأدوات، مثل Android Test Orchestrator:رائع
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
تمت إضافة "
testOptions.unitTests.includeAndroidResources
" إلى اختبارات وحدة الدعم التي تتطلب موارد Android، مثل الكهرباء الأوَّلي عند ضبط هذه علىtrue
، سينفّذ المكوّن الإضافي الموارد دمج البيان قبل إجراء اختبارات الوحدات. يمكن لاختباراتك بعد ذلك فحصcom/android/tools/test_config.properties
على classpath للمفاتيح التالية:-
android_merged_assets
: المسار المطلق إلى دليل مواد العرض المدمجةملاحظة: بالنسبة إلى وحدات المكتبة، لا تحتوي مواد العرض المدمجة على مواد عرض الملحقات (راجِع المشكلة رقم 65550419).
-
android_merged_manifest
: المسار المطلق ملف بيان مدمج. -
android_merged_resources
: المسار المطلق إلى دليل الموارد المدمجة، الذي يحتوي على جميع الموارد من الوحدة وجميع العناصر التي تعتمد عليها. -
android_custom_package
: اسم حزمة فئة R النهائية في حال تعديل رقم تعريف التطبيق ديناميكيًا، قد لا يتطابق اسم الحزمةpackage
مع سمةpackage
في ملف بيان تطبيقك.
-
- إتاحة استخدام الخطوط كموارد (وهي ميزة جديدة تم تقديمها في Android 8.0 (المستوى 26 لواجهة برمجة التطبيقات))
- دعم حِزم APK بلغات معيّنة مع أجهزة Android الإصدار 1.1 من حزمة تطوير البرامج (SDK) للتطبيقات الفورية والإصدارات الأحدث
-
يمكنك الآن تغيير دليل النتائج للإصدار الأصلي الخارجي. كما هو موضح أدناه:
رائع
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- يمكنك الآن استخدام CMake 3.7 أو إصدار أحدث عند إنشاء مشاريع أصلية من Android Studio.
-
تسمح لك إعدادات تبعية
lintChecks
الجديدة بما يلي: إنشاء ملف JAR يحدد قواعد Lint المخصصة وتجميعه في AAR ومشاريع APK.يجب أن تنتمي قواعد Lint المخصصة إلى مشروع منفصل ينتج عنه حاوية JAR واحدة وتتضمن فقط
compileOnly
والتبعيات لديك. قد تعتمد وحدات المكتبة والتطبيقات الأخرى على الوبر الخاص بك باستخدام إعدادlintChecks
:رائع
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
تغييرات السلوك
- الإصدار 3.0.0 من المكوّن الإضافي لنظام التشغيل Android يزيل واجهات برمجة تطبيقات معيّنة، وستنهار
في حال استخدامها. على سبيل المثال، لم يعد بإمكانك استخدام Variants API
الوصول إلى
outputFile()
من العناصر أو استخدامprocessManifest.manifestOutputFile()
للحصول على ملف البيان لكل صيغة لمزيد من المعلومات، يُرجى قراءة التغييرات في واجهة برمجة التطبيقات: - لم تعُد بحاجة إلى تحديد إصدار من أدوات الإنشاء (لذا
يمكننا الآن إزالة السمة
android.buildToolsVersion
). بشكلٍ تلقائي، يستخدم المكوّن الإضافي الحد الأدنى من إصدار أدوات الإنشاء المطلوب لإصدار المكوّن الإضافي لنظام التشغيل Android الذي تستخدمه. - يمكنك الآن تفعيل/إيقاف معالجة ملفات PNG في
buildTypes
. كتلة، كما هو موضح أدناه. يتم تفعيل معالجة ملفات PNG تلقائيًا لجميع الإصدارات. باستثناء إصدارات تصحيح الأخطاء لأنها تزيد من أوقات إنشاء المشاريع تتضمن العديد من ملفات PNG. لذلك، لتحسين أوقات إنشاء أنواع الإصدارات الأخرى، عليك إيقاف ميزة تقليل حجم ملفات PNG أو تحويل صورك إلى WebP.رائع
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- يعمل المكوّن الإضافي Android الآن تلقائيًا على إنشاء أهداف قابلة للتنفيذ التي تضبطها في مشاريع CMake الخارجية.
- عليك الآن
إضافة معالجات
التعليقات التوضيحية إلى مسار تحميل المعالج باستخدام
إعدادات التبعيات
annotationProcessor
. - أصبح استخدام
ndkCompile
المتوقّف نهائيًا أكثر تقييدًا الآن. وبدلاً من ذلك، يجب عليك الانتقال إلى استخدام إما CMake أو ndk-build لتجميع الرمز الأصلي الذي تريد وضعه في حزمة APK. لمزيد من المعلومات، يُرجى قراءة النقل من ndkcompile.
3.0.0 (تشرين الأول/أكتوبر 2017)
يتضمن الإصدار 3.0.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android مجموعة متنوعة من التغييرات التي تهدف إلى معالجة مشكلات أداء المشروعات الكبيرة.
على سبيل المثال، في عينة من الهيكل العظمي يحتوي على حوالي 130 وحدة وعددًا كبيرًا من الاعتماديات الخارجية (ولكن بدون رموز أو موارد)، يمكنك تجربة تحسينات في الأداء مشابه لما يلي:
إصدار المكوّن الإضافي لنظام Android + إصدار Gradle | الإصدار 2.2.0 من المكوّن الإضافي لنظام Android والإصدار 2.14.1 من Gradle | الإصدار 2.3.0 من المكوّن الإضافي لنظام Android والإصدار 3.3 من Gradle | المكوّن الإضافي لنظام Android 3.0.0 + Gradle 4.1 |
---|---|---|---|
الإعداد (مثل تشغيل ./gradlew --help ) |
حوالي دقيقتين | 9 ثوانٍ تقريبًا | 2.5 ثانية تقريبًا |
تغيير Java يتكون من سطر واحد (تغيير التنفيذ) | حوالي دقيقتين و15 ثانية | 29 ثانية تقريبًا | 6.4 ثانية تقريبًا |
تؤدي بعض هذه التغييرات إلى إيقاف التصميمات الحالية. لذلك، يجب أن تفكر في\ الجهد المبذول في ترحيل مشروعك قبل استخدام المكون الإضافي الجديد.
إذا لم تلاحظ تحسينات الأداء الموضّحة أعلاه، يُرجى الإبلاغ عن خطأ مع تضمين أثر للبناء باستخدام أداة تحليل Gradle:
يتطلب هذا الإصدار من مكوّن Android الإضافي ما يلي:
- Gradle 4.1 أو إصدار أحدث لمزيد من المعلومات، يُرجى الاطّلاع على القسم المعنيّ بتحديث Gradle.
-
أدوات الإنشاء 26.0.2
أو أعلى. من خلال هذا التعديل، لم تعُد بحاجة إلى تحديد إصدار
لأدوات الإنشاء، إذ يستخدم المكوّن الإضافي الحد الأدنى من الإصدار المطلوب تلقائيًا.
وبالتالي، يمكنك الآن إزالة الموقع
android.buildToolsVersion
.
3.0.1 (تشرين الثاني (نوفمبر) 2017)
هذا تحديث ثانوي للتوافق مع الإصدار 3.0.1 من "استوديو Android" ويتضمن إصلاح الأخطاء وتحسينات في الأداء.
التحسينات
- توفُّر توازٍ أفضل للمشاريع المتعدّدة الوحدات من خلال رسم بياني مفصّل للمهام
- عند إجراء تغييرات على التبعية، ينفذ Gradle عمليات إنشاء أسرع عن طريق
إعادة تجميع الوحدات التي ليس لديها إمكانية الوصول إلى واجهة برمجة التطبيقات الخاصة بالتبعية.
يجب تقييد الاعتمادية التي تسرّب واجهات برمجة التطبيقات الخاصة بها إلى وحدات أخرى من خلال
استخدام
إعدادات التبعية الجديدة في Gradle:
implementation
وapi
وcompileOnly
وruntimeOnly
. - سرعة إنشاء متزايدة بشكل أسرع بسبب المعالجة لكل فئة. تكون كل فئة
يتم تجميعها الآن في ملفات DEX منفصلة، وتكون فقط الفئات
التي تم تعديلها وإعادة تفويضها. من المفترض أيضًا أن تلاحظ سرعات إنشاء محسّنة ل
التطبيقات التي تضبط
minSdkVersion
على 20 أو أقل، وتستخدم حِزم dex المتعددة القديمة. - سرعات إنشاء محسّنة من خلال تحسين مهام معيّنة لاستخدام النتائج المخزّنة للاستفادة من هذا التحسين، عليك أولاً تفعيل ذاكرة التخزين المؤقت لإصدار Gradle
- معالجة أفضل للموارد المتزايدة باستخدام AAPT2، وهو الآن فعال
تلقائيًا إذا كنت تواجه مشاكل أثناء استخدام AAPT2،
يُرجى الإبلاغ عن خطأ. يمكنك أيضًا
إيقاف AAPT2 من خلال ضبط
android.enableAapt2=false
فيملفgradle.properties
وإعادة تشغيل برنامج Gradle الخفي من خلال تشغيل./gradlew --stop
من سطر الأوامر.
الميزات الجديدة
- التبعية الواعية للخيارات المشروع. عند إنشاء متغير معين من وحدة ما، سيتعين على المكون الإضافي الآن يطابق تلقائيًا متغيرات تبعيات وحدة المكتبة المحلية مع مختلف الوحدة التي تقوم بإنشائها.
- تم تضمين مكوّن إضافي جديد لوحدة الميزات لتقديم الدعم. تطبيقات Android الفورية حزمة تطوير البرامج (SDK) لتطبيقات Android الفورية (التي يمكنك تنزيلها باستخدام مدير حِزم تطوير البرامج (SDK)). لمزيد من المعلومات حول إنشاء وحدات الميزات باستخدام المكون الإضافي الجديد، يرجى قراءة بنية تطبيق فوري بميزات متعددة.
- دعم مدمج لاستخدام بعض ميزات لغة Java 8 وJava 8 المكتبات. تم إيقاف "جاك" نهائيًا ولم يعُد مطلوبًا، ويمكنك يجب أولاً تعطيل Jack لاستخدام دعم Java 8 المحسّن المضمن في سلسلة الأدوات الافتراضية. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة استخدام ميزات لغة Java 8.
-
تمت إضافة ميزة إتاحة إجراء الاختبارات باستخدام منصّة تنسيق اختبارات Android ، ما يتيح لك إجراء كل اختبارات تطبيقك ضمن طلب أداة Instrumentation الخاص به. نظرًا لأن كل اختبار يجري على حدة في حالة قياس حالة التطبيق، لا يتم تجميع أي حالة مشتركة بين الاختبارات على وحدة المعالجة المركزية (CPU) أو ذاكرة الجهاز. وحتى إذا تعطّل أحد الاختبارات، تتم إزالته. مثيلها الخاص فقط من قياس حالة التطبيق، وبالتالي تظل الاختبارات الأخرى قيد التنفيذ.
- تمت إضافة
testOptions.execution
لتحديد ما إذا كان سيتم استخدام تنسيق الاختبار على الجهاز فقط. إذا كنت ترغب في استخدام مُنسّق الاختبارات من Android، عليك تحديدANDROID_TEST_ORCHESTRATOR
، كما هو موضّح أدناه. بشكل افتراضي، يتم ضبط السمة علىHOST
، ما يؤدي إلى إيقاف الإعداد على الجهاز فقط. التنسيق وهو الطريقة القياسية لإجراء الاختبارات.
رائع
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- تمت إضافة
-
تسمح لك إعدادات تبعية
androidTestUtil
الجديدة بما يلي: تثبيت حِزمة APK أخرى مساعِدة للاختبار قبل إجراء اختبارات الأدوات، مثل Android Test Orchestrator:رائع
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
تمت إضافة "
testOptions.unitTests.includeAndroidResources
" إلى اختبارات وحدة الدعم التي تتطلب موارد Android، مثل الكهرباء الأوَّلي عند ضبط هذه السمة علىtrue
، يُجري المكوّن الإضافي عملية دمج للموارد ومواد العرض والملفات البيانية قبل تشغيل اختبارات الوحدات. يمكن لاختباراتك بعد ذلك التحقّق منcom/android/tools/test_config.properties
فيملفcom/android/tools/test_config.properties
classpath للمفاتيح التالية:-
android_merged_assets
: المسار المطلق دليل الأصول المدمجة.ملاحظة: بالنسبة إلى وحدات المكتبة، يجب أن تكون مواد العرض المدمجة لا تحتوي على أصول التبعيات (انظر مشكلة #65550419).
-
android_merged_manifest
: المسار المطلق ملف بيان مدمج. -
android_merged_resources
: المسار المطلق إلى دليل الموارد المدمجة، الذي يحتوي على جميع الموارد من الوحدة وجميع العناصر التي تعتمد عليها. -
android_custom_package
: اسم حزمة فئة R النهائية. إذا عدّلت معرّف التطبيق ديناميكيًا، فسيؤدي ذلك إلى قد لا يتطابق اسم الحزمة مع سمةpackage
في التطبيق.
-
- إتاحة استخدام الخطوط كموارد (وهي ميزة جديدة تم تقديمها في Android 8.0 (المستوى 26 لواجهة برمجة التطبيقات))
- دعم حِزم APK بلغات معيّنة مع أجهزة Android الإصدار 1.1 من حزمة تطوير البرامج (SDK) للتطبيقات الفورية والإصدارات الأحدث
-
يمكنك الآن تغيير دليل النتائج للإصدار الأصلي الخارجي. كما هو موضح أدناه:
رائع
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- يمكنك الآن استخدام CMake 3.7 أو إصدار أحدث عند إنشاء مشاريع أصلية من Android Studio.
-
تتيح لك إعدادات التبعيات الجديدة في
lintChecks
إنشاء حزمة JAR تحدّد قواعد lint مخصّصة، وتُحزِّمها في مشاريع AAR وAPK.يجب أن تنتمي قواعد Lint المخصصة إلى مشروع منفصل ينتج عنه حاوية JAR واحدة وتتضمن فقط
compileOnly
والتبعيات لديك. قد تعتمد وحدات المكتبة والتطبيقات الأخرى على الوبر الخاص بك باستخدام إعدادlintChecks
:رائع
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
تغييرات السلوك
- يزيل المكوّن الإضافي لنظام Android 3.0.0 واجهات برمجة تطبيقات معيّنة، وسيتم إيقاف عملية التصميم
إذا كنت تستخدمها. على سبيل المثال، لم يعُد بإمكانك استخدام Variants API ل
الوصول إلى عناصر
outputFile()
أو استخدامprocessManifest.manifestOutputFile()
للحصول على ملف البيان لكلّ صيغة. لمزيد من المعلومات، يُرجى قراءة التغييرات في واجهة برمجة التطبيقات: - لم تعُد بحاجة إلى تحديد إصدار لأدوات الإنشاء (وبالتالي،
يمكنك الآن إزالة سمة
android.buildToolsVersion
). من يستخدم المكوّن الإضافي تلقائيًا الحد الأدنى المطلوب من أدوات التصميم لإصدار المكوّن الإضافي لـ Android الذي تستخدمه. - يمكنك الآن تفعيل ميزة "ضغط ملفات PNG" أو إيقافها في القسم
buildTypes
كما هو موضّح أدناه. يتم تفعيل ميزة تقليل حجم ملفات PNG تلقائيًا لجميع عمليات الإنشاء باستثناء عمليات إنشاء تصحيح الأخطاء لأنّها تزيد من أوقات إنشاء المشاريع التي تتضمّن العديد من ملفات PNG. لذلك، لتحسين أوقات إنشاء أنواع الإصدارات الأخرى، عليك إيقاف ميزة تقليل حجم ملفات PNG أو تحويل صورك إلى WebP.رائع
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- يعمل المكوّن الإضافي Android الآن تلقائيًا على إنشاء أهداف قابلة للتنفيذ التي تضبطها في مشاريع CMake الخارجية.
- يجب عليك الآن
إضافة تعليق توضيحي
المعالجات إلى مسار فئة المعالج باستخدام
إعدادات التبعية
annotationProcessor
. - إضافةً إلى ذلك، نفرض قيودًا أكثر على استخدام ميزة "
ndkCompile
" المتوقّفة نهائيًا. بدلاً من ذلك، عليك نقل البيانات لاستخدام CMake أو ndk-build لتجميع الرمز الأصلي الذي تريد حزمه في حزمة APK. لمعرفة المزيد من المعلومات، يُرجى الاطّلاع على مقالة الانتقال من ndkcompile.
2.3.0 (شباط (فبراير) 2017)
2.3.3 (حزيران (يونيو) 2017)
هذا تحديث بسيط يضيف التوافق مع الإصدار 2.3.3 من "استوديو Android".
2.3.2 (أيار/مايو 2017)
هذا تحديث ثانوي يضيف توافقًا مع استوديو Android 2.3.2.
2.3.1 (نيسان (أبريل) 2017)
هذا تحديث بسيط لمكوّن Android الإضافي 2.3.0 الذي يحلّ مشكلة عدم عمل بعض أجهزة Android الفعلية بشكل صحيح مع ميزة "التشغيل الفوري" (راجِع المشكلة رقم 235879).
- التبعيات:
-
- Gradle 3.3 أو أعلى.
- أدوات الإنشاء 25.0.0 أو أعلى.
- جديد:
-
- تستخدم Gradle 3.3، الذي يتضمن تحسينات في الأداء الميزات الجديدة. لمزيد من التفاصيل، يُرجى مراجعة ملاحظات إصدار Gradle:
- ذاكرة التخزين المؤقت للإنشاء: تخزِّن نتائج معيّنة ينشئها المكوّن الإضافي لنظام
Android عند إنشاء مشروعك (مثل حِزم AAR غير المُعبَّأة
والتبعيات البعيدة التي تم تحويلها إلى ملف DEX مسبقًا). تكون عمليات الإنشاء النظيفة
أسرع بكثير أثناء استخدام ذاكرة التخزين المؤقت لأنّ نظام الإنشاء يمكنه
إعادة استخدام هذه الملفات المخزّنة مؤقتًا أثناء عمليات الإنشاء اللاحقة بدلاً من
إعادة إنشائها. المشاريع التي تستخدم الإصدار 2.3.0 من المكوّن الإضافي لنظام التشغيل Android والإصدارات الأحدث
إنشاء ذاكرة التخزين المؤقت بشكل افتراضي. لمزيد من المعلومات، يُرجى قراءة
تحسين سرعة الإصدار باستخدام
إنشاء ذاكرة تخزين مؤقت:
- يتضمن مهمة
cleanBuildCache
مسح ذاكرة التخزين المؤقت للإصدار. - في حال استخدام الإصدار التجريبي من إصدار ذاكرة التخزين المؤقت (المدرجة في الإصدارات السابقة من المكون الإضافي)، يجب عليك تحديث المكون الإضافي أحدث إصدار.
- يتضمن مهمة
- التغييرات:
-
- تتيح التغييرات على ميزة "التشغيل الفوري" المضمّنة في استوديو Android 2.3.
- من المفترض أن تكون مدة الإعداد للمشاريع الكبيرة جدًا أسرع بكثير.
- تم إصلاح المشكلات المتعلقة بالتنزيل التلقائي تخطيط مقيد المكتبة.
- يستخدم المكون الإضافي الآن الإصدار 5.3.2 من ProGuard
- تتضمّن العديد من الإصلاحات ل الأخطاء التي تم الإبلاغ عنها. يُرجى مواصلة إرسال تقارير الأخطاء عند مواجهة مشاكل.
2.2.0 (أيلول (سبتمبر) 2016)
- التبعيات:
-
- Gradle 2.14.1 أو أعلى.
- أدوات الإنشاء 23.0.2 أو إصدار أحدث
- جديد:
-
- تستخدم الإصدار 2.14.1 من Gradle، والذي يتضمن تحسينات في الأداء بالإضافة إلى ميزات جديدة وإصلاح الثغرة الأمنية التي تتيح تصعيد الامتيازات المحلية عند استخدام البرنامج الخفي Gradle. لمزيد من المعلومات، التفاصيل، راجع ملاحظات إصدار Gradle:
- استخدام
externalNativeBuild {}
DSL، تتيح لك Gradle الآن والربط بمصادرك الأصلية وتجميع المكتبات الأصلية باستخدام CMake أو ndk-build. بعد إنشاء مكتباتك الأصلية، ستنشئ وحزمها في ملف APK. ولمعرفة المزيد حول استخدام CMake ndk-build باستخدام Gradle، اقرأ إضافة رمز C وC++ إلى المشروع: - عند تشغيل عملية إنشاء من سطر الأوامر، يحاول Gradle الآن تنزيل أيّ مكوّنات أو تحديثات غير متوفّرة من حزمة SDK يعتمد عليها مشروعك تلقائيًا. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة التنزيل التلقائي للحِزم غير المتوفّرة باستخدام Gradle.
- تتيح ميزة التخزين المؤقت التجريبية الجديدة لنظام Gradle تسريع عملية الإنشاء من خلال البحث المسبق عن إصدارات سابقة وتخزينها وإعادة استخدامها مكتباتك. لمزيد من المعلومات عن استخدام هذه الميزة التجريبية، يمكنك الاطّلاع على دليل إنشاء ذاكرة التخزين المؤقت.
- تحسين أداء عملية الإنشاء من خلال استخدام مسار جديد تلقائي لتعبئة التطبيقات
يمكنه التعامل مع ضغط الملفات وتوقيعها ومواءمتها في مهمة واحدة إِنْتَ
يمكنك العودة إلى استخدام أدوات التغليف القديمة عن طريق إضافة
في
android.useOldPackaging=true
ملفgradle.properties
. أثناء استخدام العبوة الجديدة الأداة، فإن مهمةzipalignDebug
غير متاحة. ومع ذلك، يمكنك إنشاء نموذج بنفسك من خلال استدعاء الأسلوبcreateZipAlignTask(String taskName, File inputFile, File outputFile)
. - يستخدم توقيع حِزم APK الآن الإصدار 2 من مخطّط توقيع حِزم APK
بالإضافة إلى توقيع JAR التقليدي. تقبل جميع أنظمة Android
حِزم APK الناتجة. ويؤدي أي تعديل على حِزم APK هذه بعد التوقيع إلى إبطال توقيعات الإصدار 2
ومنع تثبيتها على الجهاز. لإيقاف هذه الميزة،
أضِف ما يلي إلى ملف
build.gradle
على مستوى الوحدة:رائع
android { ... signingConfigs { config { ... v2SigningEnabled false } } }
Kotlin
android { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } }
- بالنسبة إلى عمليات إنشاء حِزم متعددة بتنسيق DEX، يمكنك الآن استخدام قواعد ProGuard لتحديد
الفئات التي يجب أن يجمعها Gradle في ملف DEX الرئيسي لتطبيقك. لأنّ
يحمّل نظام Android ملف DEX الرئيسي أولاً عند بدء تشغيل التطبيق،
يمكننا إعطاء الأولوية لفئات معينة عند الشركات الناشئة من خلال تجميعها في دالة DEX الرئيسية
الملف. بعد إنشاء ملف إعدادات ProGuard خصيصًا لملف ملف DEXE الرئيسي، يمكنك تمرير مسار ملف الإعدادات إلى Gradle باستخدام
buildTypes.multiDexKeepProguard
. يختلف استخدام لغة الترميز هذه عن استخدامbuildTypes.proguardFiles
، التي توفّر قواعد عامة في ProGuard لتطبيقك ولا تحدّد فئات لملف DEX الرئيسي. - يدعم العلامة
android:extractNativeLibs
، ما يمكن أن يقلّل من حجم تطبيقك عند تثبيته على الخاص بك. عند ضبط هذه العلامة علىfalse
في<application>
أحد عناصر بيان التطبيق، غير مضغوطة حزم Gradle نُسخ متوافقة من المكتبات الأصلية مع حزمة APK. هذا النمط تمنعPackageManager
بدءًا من نسخ المكتبات المجمّعة من رموز برمجية أصلية من حزمة APK إلى ملف نظام الملفات أثناء التثبيت، وله فائدة إضافية تتمثل في دلتا لتحديث تطبيقك بحجم أصغر. - يمكنك الآن تحديد
versionNameSuffix
وapplicationIdSuffix
لأنواع المنتجات. (المشكلة 59614)
- التغييرات:
-
-
تعرض ميزة "
getDefaultProguardFile
" الآن إعدادات ProGuard التلقائية التي يوفرها مكون Android الإضافي لنظام Gradle ولم تعد الأدوات المتاحة في حزمة تطوير البرامج (SDK) لنظام التشغيل Android. - ميزات وأداء محسّنان لمجمّع Jack:
- يتيح Jack الآن تغطية اختبار Jacoco عند ضبط إعدادات
testCoverageEnabled
إلىtrue
- تم تحسين التوافق مع معالجات التعليقات التوضيحية. التعليق التوضيحي
المعالجات في مسار الفئة، مثل أي
compile
والتبعيات على التصميم الخاص بك. يمكنك أيضًا تحديد معالِج تعليقات توضيحية في عملية الإنشاء وتقديم الوسيطات باستخدام لغة برمجةjavaCompileOptions.annotationProcessorOptions {}
فيملفbuild.gradle
على مستوى الوحدة:رائع
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } }
Kotlin
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } }
إذا أردت تطبيق معالج تعليقات توضيحية عند التجميع الوقت ولكن لا تُدرجه في ملف APK، يمكنك استخدام نطاق تبعية
annotationProcessor
:رائع
dependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant }
Kotlin
dependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant }
- بشكل تلقائي، إذا كان حجم ذاكرة التخزين المؤقت في برنامج Gradle الخفي 1.5 على الأقل
غيغابايت، يعمل جاك الآن بنفس العملية مثل Gradle. لضبط
حجم البرامج الخفيّة، أضِف ما يلي إلى
ملف
gradle.properties
:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M
للحصول على قائمة بالمَعلمات التي يمكنك ضبطها، شغِّل ما يلي من سطر الأوامر:
java -jar /build-tools/jack.jar --help-properties
- يتيح Jack الآن تغطية اختبار Jacoco عند ضبط إعدادات
-
تعرض ميزة "
2.1.0 (نيسان (أبريل) 2016)
2.1.3 (آب/أغسطس 2016)
يتطلّب هذا التحديث استخدام الإصدار 2.14.1 من Gradle أو إصدار أحدث. يتضمن Gradle 2.14.1 تحسينات في الأداء وميزات جديدة وإصلاح أمان مهم. لمزيد من التفاصيل، يُرجى مراجعة ملاحظات إصدار Gradle:
- التبعيات:
-
- Gradle 2.10 أو أعلى.
- أدوات الإنشاء 23.0.2 أو أعلى.
- جديد:
-
- تمت إضافة الدعم لميزات N Developer Preview وJDK 8 وJava 8 باستخدام Jack
وسلسلة الأدوات. للمزيد من المعلومات، يُرجى قراءة دليل معاينة N.
ملاحظة: فوري لا يعمل Run في الوقت الحالي باستخدام Jack وسيتم إيقافه أثناء. باستخدام سلسلة الأدوات الجديدة. لن تحتاج إلى استخدام Jack إلا إذا كنت تطورًا لمعاينة N وتريد استخدام ميزات لغة Java 8 المتوافقة.
- تمت إضافة دعم تلقائي للتجميع التدريجي لـ Java لتقليل
التجميع أثناء التطوير. يقوم بذلك عن طريق إعادة تجميع
أو أجزاء من المصدر تم تغييرها أو تحتاج إلى إعادة تجميعها. لإيقاف
هذه الميزة، أضِف الرمز التالي إلى ملف
build.gradle
على مستوى الوحدة:رائع
android { ... compileOptions { incremental false } }
Kotlin
android { ... compileOptions { incremental = false } }
-
تمت إضافة دعم لفهرسة البيانات أثناء المعالجة والتي تؤدي إلى تنفيذ عملية الفهرسة في الإصدار. وليس في عمليات جهاز افتراضي منفصلة وخارجية. هذا لا يجعل فقط البناء بشكل أسرع، ولكنه أيضًا يسرّع عمليات الإنشاء الكاملة. تكمن الميزة يتم تفعيل هذه الميزة تلقائيًا في المشاريع التي ضبطت الحد الأقصى لعناصر النظام الخفي لنظام Gradle الخفي إلى 2048 ميغابايت على الأقل. يمكنك إجراء ذلك من خلال تضمين ما يلي في ملف
```لا شيء org.gradle.jvmargs = -Xmx2048m ```gradle.properties
للمشروع:إذا حددت قيمة لـ
```لا شيء org.gradle.jvmargs = -Xmx3072m ```javaMaxHeapSize
فيbuild.gradle
على مستوى الوحدة يجب تعيينorg.gradle.jvmargs
على قيمةjavaMaxHeapSize
+ 1024 ميغابايت. على سبيل المثال، إذا قمتَ بتعيينjavaMaxHeapSize
إلى "2048m"، يجب إضافة ما يلي إلى ملفgradle.properties
للمشروع:لإيقاف ميزة "الترميز أثناء التشغيل"، أضِف الرمز البرمجي التالي إلى ملف
build.gradle
على مستوى الوحدة:رائع
android { ... dexOptions { dexInProcess false } }
Kotlin
android { ... dexOptions { dexInProcess = false } }
- تمت إضافة الدعم لميزات N Developer Preview وJDK 8 وJava 8 باستخدام Jack
وسلسلة الأدوات. للمزيد من المعلومات، يُرجى قراءة دليل معاينة N.
2.0.0 (نيسان (أبريل) 2016)
- التبعيات:
-
- Gradle 2.10 أو أعلى.
- الإصدار 21.1.1 من "أدوات الإنشاء" أو إصدار أحدث
- جديد:
-
- لتفعيل التشغيل الفوري من خلال ودعم حقن رموز البايت، ودفع تحديثات الرموز والموارد إلى أو تشغيل تطبيق على المحاكي أو على جهاز فعلي.
- تمت إضافة دعم للإصدارات التزايدية، حتى في حال عدم تشغيل التطبيق. تم تحسين أوقات الإنشاء الكاملة من خلال دفع التغييرات المتزايدة من خلال Android Debug Bridge إلى الجهاز المتصل.
- تمت إضافة
maxProcessCount
للتحكّم في عدد عمليات dex العاملة التي يمكن إنشاؤها بشكل متزامن. تظهر الكود التالي، في مستوى الوحدة ملفbuild.gradle
، يحدّد الحد الأقصى لعدد العمليات المتزامنة إلى 4:رائع
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
Kotlin
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
</li> <li>Added an experimental code shrinker to support pre-dexing and reduce re-dexing of dependencies, which are not supported with Proguard. This improves the build speed of your debug build variant. Because the experimental shrinker does not support optimization and obfuscation, you should enable Proguard for your release builds. To enable the experimental shrinker for your debug builds, add the following to your module-level <code>build.gradle</code> file:
رائع
android { ... buildTypes { debug { minifyEnabled true useProguard false } release { minifyEnabled true useProguard true // this is a default setting } } }
Kotlin
android { ... buildTypes { getByName("debug") { minifyEnabled = true useProguard = false } getByName("release") { minifyEnabled = true useProguard = true // this is a default setting } } }
</li> <li>Added logging support and improved performance for the resource shrinker. The resource shrinker now logs all of its operations into a <code>resources.txt</code> file located in the same folder as the Proguard log files. </li> </ul>
- السلوك المتغير:
-
- عند ضبط السياسة
minSdkVersion
على القيمة 18 أو أعلى، تستخدم توقيع حزمة APK. خوارزمية SHA256.
<li>DSA and ECDSA keys can now sign APK packages. <p class="note"> <strong>Note:</strong> The <a href= "/training/articles/keystore.html">Android keystore</a> provider no longer supports <a href= "/about/versions/marshmallow/android-6.0-changes.html#behavior-keystore"> DSA keys on Android 6.0</a> (API level 23) and higher. </p> </li> </ul>
- عند ضبط السياسة
- المشاكل التي تم إصلاحها:
-
- تم إصلاح مشكلة تسبّبت في تكرار عمليات الاعتماد على AAR في كلتا الخدمتين. الاختبار وتكوينات الإصدار الرئيسي.
مكوّن Android الإضافي لنظام Gradle، النسخة 1.5.0 (تشرين الثاني (نوفمبر) 2015)
- التبعيات:
-
- Gradle 2.2.1 أو إصدار أحدث
- أدوات الإصدار 21.1.1 أو الإصدارات الأحدث.
- ملاحظات عامة:
-
- تم دمج المكوّن الإضافي "ربط البيانات" في المكوّن الإضافي Android لنظام Gradle. لتفعيله، يمكنك إضافة
الرمز التالي لكل ملف
build.gradle
لكل مشروع يستخدم المكون الإضافي: - إضافة واجهة برمجة تطبيقات Transform جديدة
للسماح للمكوّنات الإضافية التابعة لجهات خارجية بمعالجة ملفات
.class
المجمّعة قبل نقلها تم تحويلها إلى.dex
ملف. تعمل Transform API على تبسيط عمليات إدراج تعديلات مخصّصة للفئة، مع توفير مرونة أكبر في ما يتعلّق بما يمكنك تعديله. لإدراج تتحول إلى بنية، أنشئ فئة جديدة تنفذ إحدىTransform
الواجهات وتسجيلها فيandroid.registerTransform(theTransform)
أوandroid.registerTransform(theTransform, dependencies)
ليس عليك ربط المهام ببعضها. يُرجى ملاحظة ما يلي حول Transform API: - يمكن تطبيق التحويل على واحد أو أكثر مما يلي: المشروع الحالي والمشاريع الفرعية والمكتبات الخارجية.
- يجب تسجيل التحويل على مستوى العالم، وهذا يسري على جميع الصيغ.
- معالجة التعليمات البرمجية الداخلية، من خلال مكتبة Java Code Coverage Library (JaCoCo) وProGuard
و MultiDex، تستخدم الآن Transform API. ومع ذلك، فإن مجموعة أدوات تجميع ملفات Java Android
لا يستخدم "جاك" واجهة برمجة التطبيقات هذه، بل يستخدم مسار رمز
javac/dx
فقط. - يُنفِّذ Gradle عمليات التحويل بهذا الترتيب: JaCoCo، والمكونات الإضافية التابعة لجهات خارجية، وProGuard. يتطابق ترتيب تنفيذ المكوّنات الإضافية التابعة لجهات خارجية مع الترتيب الذي تتم فيه إضافة عمليات التحويل من خلال المكوّنات الإضافية التابعة لجهات خارجية، ولا يمكن لمطوّري المكوّنات الإضافية التابعة لجهات خارجية التحكّم في ترتيب تنفيذ عمليات التحويل من خلال واجهة برمجة التطبيقات.
- تم إيقاف دالة الحصول على
dex
نهائيًا من فئةApplicationVariant
. لا يمكنك الوصول إلى مهمةDex
من خلال واجهة برمجة التطبيقات لأنواع الأسعار بعد الآن لأنّه يتم الآن إكمالها من خلال عملية تحويل. ليس هناك حاليًا بديل للتحكّم في عملية dex. - تمّ إصلاح مشكلة عدم توفّر مواد عرض إضافية.
- تحسين دعم MultiDex من خلال إتاحته للمشاريع التجريبية
تحتوي الاختبارات الآن تلقائيًا على
com.android.support:multidex-instrumentation
والتبعية. - تمت إضافة إمكانية إخفاق إنشاء Gradle بشكل صحيح والإبلاغ عن سبب الخطأ الأساسي عندما يستدعي إصدار Gradle مهامًا غير متزامنة ويحدث فشل في العامل الدفع.
- تمت إضافة دعم لضبط واجهة تطبيق ثنائية (ABI) محدّدة في الصِيَغ. تحتوي على واجهات ABI متعددة.
- تمت إضافة إمكانية إدراج قائمة مفصولة بفواصل للأرقام التسلسلية للأجهزة.
تمثّل هذه السمة متغيّر بيئة واحد (
ANDROID_SERIAL
) عند تثبيت الاختبارات أو إجراؤها. - تم إصلاح تعذُّر التثبيت على الأجهزة التي تعمل بنظام التشغيل Android 5.0 (المستوى 20 لواجهة برمجة التطبيقات) والإصدارات الأحدث. عندما يحتوي اسم APK على مسافة.
- تم إصلاح مشاكل متنوعة متعلّقة بنتائج أخطاء أداة تجميع مواد العرض في Android (AAPT).
- تمت إضافة دعم الأدوات التزايدية JaCoCo للحصول على إصدارات تدريجية أسرع. يُستخدَم الآن المكوّن الإضافي لنظام Gradle المتوافق مع Android لتشغيل أداة فحص JaCoCo مباشرةً. لفرض مفتاح أحدث من أداة تشغيل JaCoCo، فستحتاج إلى إضافته كتبعية للنص البرمجي للإصدار.
- تم إصلاح دعم JaCoCo بحيث يتجاهل الملفات التي ليست فئات.
- تمت إضافة إمكانية استخدام الرسومات المتجهّة لإنشاء ملفات بتنسيق PNG في وقت التصميم من أجل التوافق مع الإصدارات القديمة.
يعمل المكوّن الإضافي Android لنظام Gradle على إنشاء ملفات PNG لكل متجه قابل للرسم موجود في مورد
دليل لا يحدد إصدار واجهة برمجة التطبيقات أو يحدد
android:minSdkVersion
للقيمة 20 أو أقل في العنصر<uses-sdk>
في بيان التطبيق. يمكنك ضبط كثافة ملفات PNG من خلال استخدام السمةgeneratedDensities
في قسمَيdefaultConfig
أوproductFlavor
من ملفbuild.gradle
. - تمت إضافة مشاركة لـ
android.jar
القابل للنموذج، والذي ينشئه المكوّن الإضافي فقط مرة واحدة وتستخدم لاختبار الوحدة. تتشارك الآن وحدات متعدّدة هذا الرمز، مثلapp
وlib
. عليك حذف "$rootDir/build
" لإعادة إنشائه. - تغيير معالجة موارد Java لتتم قبل مهام التشويش بدلاً من أثناء إنشاء حزمة APK. يسمح هذا التغيير لمهام التشويش بتعديل موارد Java بعد تشويش الحِزم.
- تم إصلاح مشكلة في استخدام رمز Java Native Interface (JNI) في المكوّن الإضافي لـ المكتبة التجريبية.
- تمت إضافة إمكانية ضبط إصدار النظام الأساسي بشكل منفصل عن
السمة
android:compileSdkVersion
في المكتبة التجريبية المكون الإضافي.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- تم دمج المكوّن الإضافي "ربط البيانات" في المكوّن الإضافي Android لنظام Gradle. لتفعيله، يمكنك إضافة
الرمز التالي لكل ملف
مكوّن Android الإضافي لنظام Gradle، النسخة 1.3.1 (آب (أغسطس) 2015)
التبعيات:- Gradle 2.2.1 أو أعلى.
- الإصدار 21.1.1 من "أدوات الإنشاء" أو إصدار أحدث
- تم إصلاح مهمة Zipمحاذاة إلى المستخدم الناتج عن المهمة السابقة عند استخدام اسم ملف مخصص.
- نص العرض المُعدَّل حزمة المحتوى مع NDK.
- الإبقاء على الدعم لمهمة إصدار
createDebugCoverageReport
. - تم إصلاح مشكلة عدم توفّر الدعم لاستخدام السمة
archiveBaseName
المخصّصة في ملف الإنشاءbuild.gradle
. - تم إصلاح
Invalid ResourceType
تحذير lint بسبب طريقة المعلمة البحث عن التعليقات التوضيحية عند التشغيل lint خارج "استوديو Android".
المكوّن الإضافي لنظام Android المتوافق مع Gradle، المراجعة 1.3.0 (تموز/يوليو 2015)
التبعيات:- Gradle 2.2.1 أو أعلى.
- الإصدار 21.1.1 من "أدوات الإنشاء" أو إصدار أحدث
-
تمت إضافة دعم للسمة
com.android.build.threadPoolSize
للتحكّم في حجم مجموعة مؤشرات الترابط المخصّصة لمهامAndroid
من الملفgradle.properties
أو سطر الأوامر. تشير رسالة الأشكال البيانية ويضبط المثال التالي هذه الخاصية على 4.-Pcom.android.build.threadPoolSize=4
- ضبط سلوك الإصدار التلقائي لاستبعاد
LICENSE
وLICENSE.txt
من حزم APK. لتضمين هذه الملفات في حزمة APK، يجب إزالتها من السمةpackagingOptions.excludes
في ملفbuild.gradle
. مثلاً:android { packagingOptions.excludes = [] }
android { packagingOptions.excludes.clear() }
- تمت إضافة مهمة
sourceSets
لفحص مجموعة جميع مجموعات المصادر المتاحة. - دعم محسّن في اختبار الوحدة للتعرّف على النكهات المتعددة
مجلدات مصدر خيارات النسخ. على سبيل المثال، لاختبار تطبيق متعدد النكهات
flavor1
وflavorA
بنوع التصميمDebug
، مجموعات مصادر الاختبار هي:- اختبار
- اختبار النكهة 1
- اختبار فلافورا
- اختبارFLAor1FLAorA
- testFLAor1FlaporADebug
كانت اختبارات Android تُعرِف ملفات المصدر المتعدّدة النُسخ.
- تم تحسين إمكانية اختبار الوحدات من أجل:
- تشغيل "
javac
" على المصادر الرئيسية والاختبارية، حتى إذا كانت السمةuseJack
أن يتم ضبط الخاصية علىtrue
في ملف الإصدار. - التعرُّف على التبعيات لكل نوع من أنواع الإصدارات بشكل صحيح
- تشغيل "
- تمت إضافة دعم لتحديد وسيطات أداة تشغيل اختبار الأدوات من سطر الأوامر.
مثلاً:
./gradlew connectedCheck \ -Pandroid.testInstrumentationRunnerArguments.size=medium \ -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB
تمت إضافة دعم لمَعلمات إضافية عشوائية لأداة حزمة مواد عرض Android (AAPT) في ملف
build.gradle
. مثلاً:android { aaptOptions { additionalParameters "--custom_option", "value" } }
android { aaptOptions { additionalParameters += listOf("--custom_option", "value") } }
- تمت إضافة دعم لـ
اختبار APK باعتبارها وحدة اختبار منفصلة، باستخدام
السمتان
targetProjectPath
وtargetVariant
لضبط حزمة APK المسار وصيغة الاستهدافملاحظة: لا تتوافق وحدة APK التجريبية مع المنتج النكهات ويمكنها استهداف صيغة واحدة فقط. بالإضافة إلى ذلك، إنّ Jacoco غير متوافق بعد.
- تمت إضافة عملية التحقّق من اسم المورد قبل دمج الموارد.
- عند إنشاء حزمة AAR (Android ARchive) لوحدات المكتبة، لا تقدِّم
العنصر النائب التلقائي
@{applicationId}
في إعدادات دمج البيان. بدلاً من ذلك، استخدِم عنصر نائبًا مختلفًا، مثل@{libApplicationId}
و قدِّم قيمة له إذا كنت تريد تضمين أرقام تعريف التطبيقات في مكتبة الأرشيف.
مكوّن Android الإضافي لنظام Gradle، النسخة 1.2.0 (نيسان (أبريل) 2015)
- التبعيات:
-
- Gradle 2.2.1 أو إصدار أحدث
- أدوات الإصدار 21.1.1 أو الإصدارات الأحدث.
- ملاحظات عامة:
-
- تحسين التوافق مع اختبارات الوحدة باستخدام Gradle
- تمت إضافة دعم لتضمين موارد نمط Java في مسار الفئة عند إجراء اختبارات الوحدة مباشرةً من خلال Gradle.
- تمت إضافة إمكانية استخدام التبعية لاختبار الوحدات في "أرشيف Android" (AAR). والأدوات.
- إضافة معلومات عن السمة
unitTestVariants
إذًا، يمكننا معالجة متغيرات اختبار الوحدة باستخدام ملفbuild.gradle
. - تمت إضافة مجموعة الرموز
unitTest.all
ضمنtestOptions
لضبط المهام المخصّصة للوحدة اختباره. يوضح الرمز النموذجي التالي كيفية إضافة اختبار وحدة إعدادات الضبط باستخدام هذا الخيار الجديد:android { testOptions { unitTest.all { jvmArgs '-XX:MaxPermSize=256m' // Or any other gradle option. } } }
android { testOptions { unitTest.all { jvmArgs += listOf("-XX:MaxPermSize=256m") // Or any other gradle option. } } }
- إصلاح التعامل مع التعدادات وحقول المثيلات العامة في
حزمة الملف
mockable-android.jar
. - تم إصلاح تبعيات مهام مشروع المكتبة، بحيث تكون فصول الاختبار التحويل البرمجي بعد التغييرات.
- تمت إضافة السمة
testProguardFile
لتطبيق ملفّات ProGuard عند تصغير حزمة APK اختبارية. - تمت إضافة السمة
timeOut
إلىadbOptions
. مجموعة رموز لضبط الحدّ الأقصى لوقت تسجيل شاشة Android Debug Bridge التسجيل. - تمت إضافة دعم لموارد تبلغ 280 نقطة لكل بوصة.
- تحسين الأداء أثناء تقييم المشروع.
- تحسين التوافق مع اختبارات الوحدة باستخدام Gradle
مكوّن Android الإضافي لنظام Gradle، النسخة 1.1.3 (آذار (مارس) 2015)
- التبعيات:
-
- Gradle 2.2.1 أو إصدار أحدث
- أدوات الإصدار 21.1.1 أو الإصدارات الأحدث.
- ملاحظات عامة:
-
- تم إصلاح مشكلة تكرار التبعيات في تطبيق تجريبي أدى إلى تعذُّر استخدام ProGuard.
- تنفيذ أداة المقارنة الثابتة التي لا تلتزم بعقد JDK Comparator تم إنشاء خطأ JDK 7.
مكوّن Android الإضافي لنظام Gradle، الإصدار 1.1.2 (شباط (فبراير) 2015)
- التبعيات:
-
- Gradle 2.2.1 أو إصدار أحدث
- أدوات الإصدار 21.1.1 أو الإصدارات الأحدث.
- ملاحظات عامة:
-
- المسار المُعدَّل عند إنشاء حزمة JAR قابلة للمحاكاة لاختبار الوحدات
- تم إصلاح إعداد
archivesBaseName
فيملفbuild.gradle
. - تم إصلاح الخطأ الذي لم يتم حلّه في العنصر النائب في دمج البيان عند إنشاء تطبيق اختبار مكتبة.
مكوّن Android الإضافي لنظام Gradle، الإصدار 1.1.1 (شباط (فبراير) 2015)
- التبعيات:
-
- Gradle 2.2.1 أو إصدار أحدث
- أدوات الإصدار 21.1.1 أو الإصدارات الأحدث.
- ملاحظات عامة:
-
- صيغ إصدار معدّلة بحيث لا تستخدم سوى المتغيرات التي تتضمن مشغِّل تطبيق Wear مهام التصميم الخاصة بنظام Wear OS
- تم تغيير المشاكل المتعلقة بالتبعية لتؤدي إلى تعذُّر الإنشاء في وقت الإنشاء بدلاً من وقت تصحيح الأخطاء. يتيح لك هذا السلوك تنفيذ مهام تشخيص (مثل "التبعيات") للمساعدة في حلّ التعارض.
- تم إصلاح الطريقة
android.getBootClasspath()
لمحاولة عرض قيمة.
مكوّن Android الإضافي لنظام Gradle، الإصدار 1.1.0 (شباط (فبراير) 2015)
- التبعيات:
-
- Gradle 2.2.1 أو إصدار أحدث
- أدوات الإصدار 21.1.1 أو الإصدارات الأحدث.
- ملاحظات عامة:
-
- تمت إضافة دعم اختبار الوحدة الجديدة
- تم تفعيل
اختبارات
الوحدة لتشغيلها على آلة Java الافتراضية المحلية مع إصدار خاص
من ملف
android.jar
متوافق مع إطارات عمل المحاكاة الشائعة، مثل Mockito. - تمت إضافة مهام الاختبار الجديدة
testDebug
،testRelease
وtestMyFlavorDebug
عند استخدام نكهات المنتج. - تمت إضافة مجلدات مصدر جديدة تم التعرّف عليها كاختبارات وحدات:
src/test/java/
وsrc/testDebug/java/
src/testMyFlavor/java/
. - تمت إضافة إعدادات جديدة إلى ملف
build.gradle
. للإعلان عن تبعيات الاختبار فقط، على سبيل المثال،testCompile 'junit:junit:4.11'
,testMyFlavorCompile 'some:library:1.0'
ملاحظة: تبعيات الاختبار فقط غير متوافقة حاليًا مع Jack (Java Android Compiler مجموعة).
- تمت إضافة
android.testOptions.unitTests.returnDefaultValues
للتحكم في سلوك نموذج android.jar القابل للمحاكاة. - تم استبدال
Test
في أسماء مهام الاختبار بحرفAndroidTest
. على سبيل المثال، أصبحت مهمةassembleDebugTest
مهمةassembleDebugAndroidTest
. مهام اختبار الوحدة لا يزال هناكUnitTest
في اسم المهمة، على سبيل المثالassembleDebugUnitTest
- تم تعديل ProGuard عدم تطبيقها على حزمة APK التجريبية بعد الآن في حال حذف تم تفعيل تصغير البيانات، يعالج ProGuard حزمة APK التجريبية تطبق فقط ملف التعيين الذي يتم إنشاؤه عند تصغير ملف APK الرئيسي.
- إدارة التبعية المعدَّلة
- تم إصلاح المشاكل المتعلّقة باستخدام نطاقَي
provided
وpackage
.ملاحظة: غير متوافق مع حزم AAR (Android ARchive)، وسيعمل إلى تعذُّر إنشاء حِزم AAR.
- دقة تبعية معدلة لمقارنة تبعيات تطبيق قيد الاختبار والتطبيق التجريبي. إذا كانت هناك أداة على الإصدار نفسه لكل من التطبيقين، فلم يتم تضمينه مع اختبار التطبيق ولا يتم إرفاقه إلا مع التطبيق قيد الاختبار. في حال حذف تم العثور على أداة بإصدار مختلف لكل من التطبيقين، فشل الإنشاء.
- تم إصلاح المشاكل المتعلّقة باستخدام نطاقَي
- إضافة دعم لـ
anyDpi
المورد المؤهِّل في عملية دمج الموارد. - سرعات تقييم ومزامنة بيئة تطوير تفاعلية محسّنة للمشاريع التي تحتوي على عدد كبير من وحدات Android
مكوّن Android الإضافي لنظام Gradle، الإصدار 1.0.1 (يناير 2015)
- التبعيات:
-
-
من Gradle 2.2.1 إلى 2.3.x.
ملاحظة: يعمل هذا الإصدار من Android المكون الإضافي لـ Gradle غير متوافق مع Gradle 2.4 أعلى.
- الإصدار 21.1.1 من "أدوات الإنشاء" أو إصدار أحدث
-
- ملاحظات عامة:
-
- تم إصلاح مشكلة تعذُّر إنشاء Gradle عند الوصول إلى وحدة
extractReleaseAnnotations
. (المشكلة 81638). - تم إصلاح مشكلة
Disable
في تمرير الإعداد--no-optimize
إلى رمز دالوايك التنفيذي (dex) الثنائي. (المشكلة 82662). - تم إصلاح مشكلات دمج البيان عند استيراد المكتبات ذات
targetSdkVersion
أقل من 16. - تم إصلاح مشكلة ترتيب الكثافة عند استخدام "استوديو Android" معJDK 8.
- تم إصلاح مشكلة تعذُّر إنشاء Gradle عند الوصول إلى وحدة
مكوّن Android الإضافي لنظام Gradle، الإصدار 1.0.0 (كانون الأول (ديسمبر) 2014)
- التبعيات:
-
-
من Gradle 2.2.1 إلى 2.3.x.
ملاحظة: هذا الإصدار من المكوّن الإضافي لنظام Android ولا يتوافق Gradle مع الإصدار 2.4 من Gradle والإصدارات الأحدث.
- أدوات الإصدار 21.1.1 أو الإصدارات الأحدث.
-
- ملاحظات عامة:
-
- الإصدار الأولي للمكوّن الإضافي