مرونة في نماذج اللغة الكبيرة، وتحسينات على "وضع الوكيل"، وتجارب جديدة مستندة إلى الذكاء الاصطناعي الوكيل في تحديث الإصدار 3 من Otter في "استوديو Android"
مدّة القراءة: 9 دقائق
يسرّنا الإعلان عن أنّ تحديث الإصدار 3 من Otter في "استوديو Android" (Android Studio Otter 3 Feature Drop) أصبح مستقرًا الآن. يقدّم هذا الإصدار المليء بالميزات تحديثًا ضخمًا لسير العمل المستند إلى الذكاء الاصطناعي الوكيل في "استوديو Android"، ويوفّر لك المزيد من المرونة والتحكّم في كيفية استخدام الذكاء الاصطناعي لمساعدتك في إنشاء تطبيقات Android.
- استخدام النموذج الخاص بك: يمكنك الآن استخدام أي نموذج لغوي كبير لتشغيل وظائف الذكاء الاصطناعي في "استوديو Android".
- تحسينات على "وضع الوكيل": يمكنك الآن بسهولة أكبر جعل "وضع الوكيل" يتفاعل مع تطبيقك على الأجهزة، ومراجعة التغييرات المقترَحة وقبولها، وإجراء سلاسل محادثات متعددة.
- إجراء اختبارات رحلة المستخدم باستخدام اللغة الطبيعية: من خلال ميزة "الرحلات" في استوديو Android
- تفعيل "وضع الوكيل" للربط بمزيد من الأدوات: بما في ذلك إمكانية الربط بخوادم عن بُعد عبر بروتوكول MCP.
- إنشاء واجهة المستخدم وتكرارها واختبارها: باستخدام تجارب وكلاء واجهة المستخدم في "استوديو Android".
- إنشاء روابط لصفحات معيّنة باستخدام اللغة الطبيعية: من خلال مساعد روابط التطبيقات الجديد
- تصحيح أخطاء الرموز البرمجية المحسَّنة باستخدام R8: من خلال إعادة تتبُّع Logcat تلقائيًا
- تبسيط وحدات مكتبة Android: باستخدام المكوّن الإضافي لمكتبة Fused
إليك نظرة متعمّقة على الميزات الجديدة:
استخدام نموذجك الخاص (BYOM)
لكل مطوّر سير عمل فريد عند استخدام الذكاء الاصطناعي، وتختلف سياسات الشركات بشأن استخدام نماذج الذكاء الاصطناعي. من خلال هذا الإصدار، يوفّر لك Android Studio الآن مرونة أكبر من خلال السماح لك باختيار النموذج اللغوي الكبير الذي يشغّل وظائف الذكاء الاصطناعي في Android Studio، ما يمنحك مزيدًا من التحكّم في الأداء والخصوصية والتكلفة.
استخدام نموذج عن بُعد
يمكنك الآن دمج النماذج عن بُعد، مثل GPT من OpenAI أو Claude من Anthropic أو نموذج مشابه، مباشرةً في "استوديو Android". يتيح لك ذلك الاستفادة من موفّر النماذج المفضّل لديك بدون تغيير بيئة التطوير المتكاملة (IDE). للبدء، عليك ضبط مقدّم نماذج عن بُعد في "الإعدادات" من خلال إضافة نقطة نهاية ومفتاح واجهة برمجة التطبيقات. بعد ضبط الإعدادات، يمكنك اختيار النموذج المخصّص مباشرةً من أداة الاختيار في نافذة المحادثة مع الذكاء الاصطناعي.
إدخال معلومات موفِّر النموذج عن بُعد
استخدام نموذج محلي
إذا كان اتصالك بالإنترنت محدودًا، أو كانت لديك متطلبات صارمة بشأن خصوصية البيانات، أو كنت تريد تجربة الأبحاث مفتوحة المصدر، يتيح لك Android Studio الآن استخدام النماذج المحلية من خلال مزوّدي خدمات مثل LM Studio أو Ollama. على الرغم من أنّ "Gemini في استوديو Android" يظل الخيار التلقائي المقترَح، والذي تم ضبطه خصيصًا لتطوير تطبيقات Android مع فهم كامل للسياق، فإنّ "استوديو Android" يتيح لك استخدام أي نموذج آخر تفضّله.
أداة اختيار النماذج في "استوديو Android"
يوفّر النموذج المحلي بديلاً لخدمة النماذج اللغوية الكبيرة المضمّنة في "استوديو Android"، ويتطلّب عادةً مساحة كبيرة في ذاكرة الوصول العشوائي (RAM) ومساحة على محرك الأقراص الثابتة في النظام المحلي ليعمل بشكل جيد. ومع ذلك، يوفّر Gemini في "استوديو Android" أفضل تجربة لتطوير تطبيقات Android لأنّه تم ضبطه ليتوافق مع Android ويتيح استخدام جميع ميزات "استوديو Android". باستخدام Gemini، يمكنك الاختيار من بين مجموعة متنوعة من النماذج لمهام تطوير Android، بما في ذلك النموذج التلقائي المجاني أو النماذج التي يتم الوصول إليها باستخدام مفتاح Gemini API مدفوع.
استخدام مفتاح Gemini API
على الرغم من أنّ "استوديو Android" يتيح الوصول إلى نموذج Gemini تلقائي مع حصص كبيرة بدون أي تكلفة، يحتاج بعض المطوّرين إلى المزيد. من خلال إضافة مفتاح Gemini API، يمكن لـ Android Studio الوصول مباشرةً إلى أحدث نماذج Gemini المتوفّرة من Google.
على سبيل المثال، يتيح لك ذلك استخدام أحدث نماذج Gemini 3 Pro وGemini 3 Flash (من بين نماذج أخرى) مع قدرات استيعاب وحصص موسّعة. ويُعدّ ذلك مفيدًا بشكل خاص للمطوّرين الذين يستخدمون "وضع الوكيل" في جلسات الترميز الطويلة، حيث يمكن أن توفّر هذه الإمكانات الإضافية ردودًا بدقة عالية.
يمكنك أيضًا الاطّلاع على مزيد من المعلومات حول كيفية طرح Gemini 3 لجميع مستخدمي "استوديو Android"، بما في ذلك المشتركون في Gemini Code Assist والمطوّرون الذين يستخدمون نموذج Gemini التلقائي في "استوديو Android" بدون أي تكلفة.
تحسينات على "وضع الوكيل"
Agent Mode هو مساعد الذكاء الاصطناعي شبه المستقل في "استوديو Android" الذي يساعدك في تطوير البرامج، ويستخدمه العديد من المطوّرين، بما في ذلك فريق Ultrahuman. استفِد أكثر من "وضع Agent" مع هذه التحديثات الجديدة.
تشغيل تطبيقك والتفاعل معه على الأجهزة
يمكن لـ Agent Mode الآن نشر تطبيق على الجهاز المتصل، وفحص ما يظهر حاليًا على الشاشة، وأخذ لقطات شاشة، والتحقّق من Logcat بحثًا عن الأخطاء، والتفاعل مع التطبيق قيد التشغيل. يتيح ذلك لموظف الدعم مساعدتك في إجراء التغييرات أو الإصلاحات التي تتضمن إعادة تشغيل التطبيق والتحقّق من الأخطاء والتأكّد من إجراء تحديث معيّن بنجاح (على سبيل المثال، من خلال أخذ لقطات شاشة ومراجعتها).
يستخدم "وضع الوكيل" إجراءات الجهاز لتطبيق التغييرات والتحقّق منها
العثور على التغييرات ومراجعتها باستخدام لوحة التغييرات
يمكنك الآن الاطّلاع على جميع التغييرات التي أجراها وكيل الذكاء الاصطناعي وإدارتها باستخدام لوحة التغييرات. عندما يُجري الوكيل تغييرات على قاعدة الرموز البرمجية، يمكنك الاطّلاع على الملفات التي تم تعديلها في الملفات المطلوب مراجعتها. من هناك، يمكنك الاحتفاظ بالتغييرات أو التراجع عنها بشكل فردي أو جماعي. انقر على ملف فردي في الدرج للاطّلاع على الاختلافات في الرمز في المحرِّر وإجراء تحسينات إذا لزم الأمر. من خلال درج التغييرات، يمكنك تتبُّع التعديلات التي أجراها الوكيل أثناء المحادثة والاطّلاع على تغييرات معيّنة بدون الحاجة إلى الرجوع إلى سجلّ المحادثة.
الاطّلاع على جميع الملفات التي اقترح الوكيل تعديلات عليها في لوحة التغييرات
ملاحظة: إذا كان خيار عدم طلب الإذن لتعديل الملفات غير مفعّل في خيارات الوكيل ، سيطلب "وضع الوكيل" الإذن لكل تغيير فردي. يجب قبول كل تغيير قبل أن يظهر في لوحة التغييرات. للسماح بظهور تعديلات متعددة على الملفات في الدرج في الوقت نفسه، فعِّل خيار عدم طلب تعديل الملفات.
قبول تغيير لإضافته إلى لوحة التغييرات
إدارة سلاسل محادثات متعددة
يمكنك الآن تنظيم محادثاتك مع Gemini في استوديو Android في سلاسل محادثات متعددة. يتيح لك ذلك إنشاء محادثة جديدة أو سلسلة محادثات جديدة مع الوكيل عندما تحتاج إلى البدء من جديد، ويمكنك الرجوع إلى المحادثات القديمة في علامة التبويب "السجلّ". يمكن أن يؤدي استخدام سلاسل محادثات منفصلة لكل مهمة مختلفة إلى تحسين جودة الردود من خلال حصر نطاق سياق الذكاء الاصطناعي في الموضوع المطروح فقط.
لبدء سلسلة محادثات جديدة، انقر على محادثة جديدة. للاطّلاع على سجلّ المحادثات، انقر على المحادثات الأخيرة.
الاطّلاع على المحادثات السابقة في علامة التبويب "المحادثات الأخيرة"
يتم حفظ سجلّ محادثاتك في حسابك، لذا إذا اضطررت إلى تسجيل الخروج أو تبديل الحسابات، يمكنك المتابعة من حيث توقفت عند العودة.
Journeys for Android Studio
يمكن أن يؤدي إجراء اختبارات شاملة لواجهة المستخدم إلى زيادة الثقة في أنّك تطرح تطبيقًا عالي الجودة في مرحلة الإنتاج، ولكن كتابة هذه الاختبارات وصيانتها قد تكون صعبة وهشة ومحدودة في ما يمكنك اختباره. تستفيد ميزة Journeys في "استوديو Android" من إمكانات الاستدلال والرؤية في Gemini لتمكينك من كتابة اختبارات واجهة المستخدم الشاملة والحفاظ عليها باستخدام تعليمات بلغة طبيعية، وهي متاحة الآن في أحدث إصدار ثابت من "استوديو Android" عند تفعيلها من Studio Labs في إعدادات "استوديو Android".
Journeys for Android Studio
يتم تحويل هذه التعليمات المكتوبة بلغة طبيعية إلى تفاعلات ينفّذها Gemini مباشرةً على تطبيقك، ما يسهّل كتابة الاختبارات وفهمها، ويتيح لك أيضًا تحديد عبارات تحقّق معقّدة يقيّمها Gemini استنادًا إلى ما "يراه" على شاشة الجهاز. بما أنّ Gemini يحلّل كيفية تحقيق أهدافك، تكون هذه الاختبارات أكثر مرونة في التعامل مع التغييرات الطفيفة في تنسيق تطبيقك، ما يقلّل بشكل كبير من الاختبارات غير المستقرة عند تشغيلها على إصدارات مختلفة من التطبيق أو إعدادات مختلفة للأجهزة.
Journeys for Android Studio
يمكنك كتابة الرحلات وتشغيلها مباشرةً من Android Studio على أي جهاز محلي أو بعيد. توفّر بيئة التطوير المتكاملة تجربة جديدة للمحرِّر من أجل إنشاء خطوات الاختبار في ملف XML، باستخدام طريقة عرض الرمز أو طريقة عرض التصميم المخصّصة. عند تشغيل رحلة، يوفّر استوديو Android نتائج غنية ومفصّلة تساعدك في متابعة تنفيذ Gemini. تقسّم لوحة الاختبار الرحلة بأكملها إلى خطوات منفصلة، وتعرض لك لقطات شاشة لكل إجراء، والإجراء الذي تم اتخاذه، وتفسير Gemini لسبب اتخاذ هذا الإجراء، ما يجعل تصحيح الأخطاء والتحقّق منها أكثر وضوحًا من أي وقت مضى. وبما أنّ الرحلات يتم تشغيلها كمهام Gradle، يمكنك تشغيلها من سطر الأوامر بعد المصادقة باستخدام مشروع على Google Cloud.
دعم خوادم MCP عن بُعد
يتيح لك Android Studio الآن الاتصال مباشرةً بخوادم "بروتوكول سياق النموذج" (MCP) عن بُعد، مثل Figma وNotion وCanva وLinear والمزيد. يقلّل ذلك بشكل كبير من التبديل بين السياقات لأنّه يتيح لوكيل الذكاء الاصطناعي في استوديو Android الاستفادة من الأدوات الخارجية، ما يساعدك في الحفاظ على تركيزك. على سبيل المثال، يمكنك الربط بخادم MCP عن بُعد في Figma للوصول إلى الملفات وتقديم هذه المعلومات إلى "وضع الوكيل"، ما يتيح إنشاء رمز برمجي أكثر دقة من تصاميمك. لمزيد من المعلومات عن كيفية إضافة خادم MCP، يُرجى الاطّلاع على إضافة خادم MCP.
الاتصال بخادم Figma MCP عن بُعد في إعدادات Android Studio
إضافة شاشة بسرعة إلى تطبيقك باستخدام خادم MCP عن بُعد في Figma
تحسين تطوير واجهة المستخدم باستخدام "وضع الوكيل"
تم دمج Gemini في "استوديو Android" الآن في سير عمل تطوير واجهة المستخدم مباشرةً من لوحة معاينة Compose، ما يساعدك في الانتقال من التصميم إلى التنفيذ عالي الجودة بشكل أسرع. تم تصميم هذه الإمكانات الجديدة المستندة إلى الذكاء الاصطناعي الوكيل لمساعدتك في كل مرحلة من مراحل التطوير، بدءًا من إنشاء الرموز البرمجية الأولية وحتى التكرار والتحسين وتصحيح الأخطاء، مع توفير نقاط دخول في سياق عملك.
إنشاء واجهة مستخدم جديدة من نموذج تصميم
يمكنك تسريع عملية تنفيذ واجهة المستخدم الأولية من خلال إنشاء رمز Compose مباشرةً من نموذج تصميم. ما عليك سوى النقر على إنشاء رمز من لقطة شاشة في لوحة "معاينة" فارغة، وسيستخدم Gemini الصورة لإنشاء تنفيذ أولي، ما يوفّر عليك عناء كتابة الرموز النموذجية من الصفر.
إنشاء رمز برمجي من لقطة شاشة في لوحة "معاينة" فارغة
مثال على تحويل التصميم إلى رمز Compose
مطابقة واجهة المستخدم مع صورة مستهدَفة
بعد الحصول على تنفيذ أولي، يمكنك تحسينه بشكل متكرر ليكون مثاليًا. انقر بزر الماوس الأيمن على "معاينة الإنشاء" واختَر إجراءات الذكاء الاصطناعي > مطابقة واجهة المستخدم مع الصورة المستهدَفة. حمِّل تصميمًا مرجعيًا، وسيقترح الوكيل تغييرات في الرمز البرمجي لكي تتطابق واجهة المستخدم مع التصميم قدر الإمكان.
مثال على استخدام ميزة "مطابقة واجهة المستخدم مع الصورة المستهدَفة"
تكرار واجهة المستخدم باستخدام اللغة الطبيعية
لإجراء تغييرات أكثر تحديدًا أو إبداعًا، انقر بزر الماوس الأيمن على المعاينة واستخدِم إجراءات الذكاء الاصطناعي > تغيير واجهة المستخدم. تستفيد هذه الميزة الآن من "وضع الوكيل" للتحقّق من النتائج، ما يجعلها أكثر فعالية ودقة. يمكنك استخدام طلبات بلغة طبيعية، مثل "تغيير لون الزر إلى الأزرق" أو "إضافة مساحة متروكة حول هذا النص"، وسيطبّق Gemini تعديلات الرمز البرمجي على الفور.
مثال على استخدام "تغيير واجهة المستخدم"
العثور على مشاكل جودة واجهة المستخدم وحلّها
يُعد التحقق من أن واجهة المستخدم الخاصة بك عالية الجودة وأكثر سهولة في الوصول إليها خطوة نهائية حاسمة. تُجري أداة إجراءات الذكاء الاصطناعي > إصلاح جميع مشاكل واجهة المستخدم تدقيقًا لواجهة المستخدم بحثًا عن المشاكل الشائعة، مثل مشاكل تسهيل الاستخدام. سيقترح الوكيل بعد ذلك إصلاحات ويطبّقها لحلّ المشاكل التي تم رصدها.
نقطة الدخول لتفعيل ميزة "حلّ جميع مشاكل التحقّق من واجهة المستخدم"
يمكنك أيضًا العثور على الوظيفة نفسها باستخدام الزر الإصلاح باستخدام الذكاء الاصطناعي في وضع التحقّق من واجهة مستخدم Compose:
ميزة "الإصلاح باستخدام الذكاء الاصطناعي" في وضع "التحقّق من واجهة المستخدم"
يمكن أيضًا الوصول إلى الميزات المذكورة أعلاه من خلال رمز شريط الأدوات في لوحة "المعاينة":
نقطة الدخول الثانية إلى ميزات تستخدم الذكاء الاصطناعي لتطوير واجهة المستخدم
بالإضافة إلى تكرار واجهة المستخدم، يساعد Gemini أيضًا في تبسيط بيئة التطوير.
لتسريع عملية الإعداد، يمكنك إجراء ما يلي:
- إنشاء معاينات Compose: تم تحسين هذه الميزة الآن باستخدام "وضع الوكيل" لتقديم نتائج أكثر دقة. عند العمل في ملف يحتوي على دوال مركّبة ولكن لا يحتوي على تعليقات توضيحية من النوع @Preview، يمكنك النقر بزر الماوس الأيمن على الدالة المركّبة واختيار Gemini > إنشاء معاينة [اسم الدالة المركّبة]. سيحلّل الوكيل الآن الدالة المركّبة بشكل أفضل لإنشاء النص النموذجي اللازم مع المَعلمات الصحيحة، ما يساعد في التحقّق من إضافة معاينة تم عرضها بنجاح.
نقطة الدخول لإنشاء معاينة Compose
- إصلاح أخطاء عرض المعاينة: عندما يتعذّر عرض معاينة Compose، يمكن لـ Gemini الآن تحليل رسالة الخطأ والرمز البرمجي للعثور على السبب الأساسي وتطبيق إصلاح.
استخدام ميزة "الإصلاح باستخدام الذكاء الاصطناعي" في خطأ عرض المعاينة
مساعِد روابط التطبيقات
يتكامل "مساعِد روابط التطبيقات" الآن مع "وضع الوكيل" لأتمتة إنشاء منطق الروابط لصفحات معيّنة، ما يبسّط إحدى الخطوات الأكثر استهلاكًا للوقت في عملية التنفيذ. بدلاً من كتابة الرموز البرمجية يدويًا لتحليل الأهداف الواردة وتوجيه المستخدمين إلى الشاشة الصحيحة، يمكنك الآن السماح لـ Gemini بإنشاء الرموز البرمجية والاختبارات اللازمة. يعرض Gemini طريقة عرض مقارنة للتغييرات المقترَحة في الرمز البرمجي لمراجعتها والموافقة عليها، ما يسهّل عملية التعامل مع الروابط المؤدية إلى صفحات في التطبيق ويضمن توجيه المستخدمين بسلاسة إلى المحتوى المناسب في تطبيقك.
للبدء، افتح "مساعِد روابط التطبيقات" من خلال قائمة الأدوات، ثم اختَر إنشاء Applink (Create Applink). في الخطوة الثانية، إضافة منطق للتعامل مع الغرض (Add logic to handle the intent)، اختَر إنشاء الرمز البرمجي بمساعدة الذكاء الاصطناعي (Generate code with AI assistance). إذا كان هناك نموذج لعنوان URL متاحًا، أدخِله، ثم انقر على إدراج رمز.
مساعِد روابط التطبيقات
تتبُّع Logcat تلقائيًا
أصبح تصحيح أخطاء الرموز البرمجية المحسَّنة باستخدام R8 سلسًا للغاية. في السابق، عندما كان R8 مفعَّلاً (minifyEnabled = true في ملف build.gradle.kts)، كان يحجب تتبُّع تسلسل استدعاء الدوال البرمجية ويغيّر أسماء الفئات والطرق وأرقام الأسطر. للعثور على مصدر التعطُّل، كان على المطوّرين استخدام أداة سطر الأوامر R8 retrace يدويًا.
بدءًا من الإصدار 3 من Otter في "استوديو Android" مع الميزات الجديدة والإصدار 8.12 من AGP والإصدارات الأحدث، لم تعُد هذه الخطوة الإضافية ضرورية. يرصد Logcat الآن تلقائيًا عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تمت معالجتها باستخدام R8 ويعيد تتبُّعها، ما يتيح لك الاطّلاع على تسلسل استدعاء الدوال البرمجية الأصلي الذي يمكن لشخص عادي قراءته مباشرةً في بيئة التطوير المتكاملة (IDE). يوفّر ذلك تجربة تصحيح أخطاء محسّنة بشكل كبير بدون الحاجة إلى أي عمل إضافي.
يرصد Logcat الآن تلقائيًا عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تمت معالجتها باستخدام R8 ويعيد تتبُّعها
المكوّن الإضافي Fused Library: نشر مكتبات Android متعددة كمكتبة واحدة
يتيح لك المكوّن الإضافي الجديد Fused Library المضمّن في الإصدار 9.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android تجميع وحدات مكتبات Android متعددة في مكتبة Android واحدة قابلة للنشر (AAR). كانت هذه الميزة من أكثر الميزات المطلوبة للمكوّن الإضافي لنظام Gradle على Android، ونحن نتيحها لك اليوم. يتيح لك هذا المكوّن الإضافي تقسيم الرموز البرمجية والموارد داخليًا مع تبسيط عملية الدمج للمستخدمين من خلال عرض تبعية واحدة فقط. بالإضافة إلى تبسيط إعداد المشروع وإدارة الإصدارات، يمكن أن يساعد توزيع مكتبة مدمجة في تقليل حجم المكتبة من خلال تحسين تصغير الرمز والتحكّم بشكل أفضل في تفاصيل التنفيذ الداخلي. لمزيد من المعلومات حول المكوّن الإضافي Fused Library، يُرجى الاطّلاع على مقالة نشر مكتبات Android متعددة كمكتبة واحدة باستخدام Fused Library.
البدء
هل أنت مستعد للبدء وتسريع عملية التطوير؟ نزِّل الإصدار 3 من تحديث Otter من "استوديو Android" الذي يحتوي على ميزات جديدة وابدأ في استكشاف هذه الميزات الجديدة الفعّالة اليوم.
كما هي الحال دائمًا، ملاحظاتك مهمة جدًا بالنسبة إلينا. اطّلِع على المشاكل المعروفة، وأبلِغ عن الأخطاء، وكن جزءًا من منتدانا النابض بالحياة على LinkedIn أو Medium أو YouTube أو X. لنعمل معًا على بناء مستقبل تطبيقات Android.
-
أخبار المنتجاتيتوفّر الآن تحديث الإصدار 2 من Otter في "استوديو Android" (Android Studio Otter 2 Feature Drop) لتعزيز إنتاجيتك.
Sandhya Mohan, Trevor Johns • مدّة القراءة: 3 دقائق -
أخبار المنتجاتفي يناير، أعلنّا عن طرح ميزات Android Studio Otter 3 في الإصدار الثابت، بما في ذلك تحسينات على Agent Mode والعديد من التحديثات الأخرى لتوفير المزيد من التحكّم والمرونة في استخدام الذكاء الاصطناعي لمساعدتك في إنشاء تطبيقات Android عالية الجودة.
Trevor Johns • مدّة القراءة: 4 دقائق -
أخبار المنتجاتبما أنّ Unity تشغّل أكثر من نصف جميع الألعاب على الأجهزة الجوّالة في جميع أنحاء العالم، فإنّ الانطباعات الأولى مهمة. بالنسبة إلى مطوّري الألعاب، تُعدّ تجربة الإعداد السلسة والموثوقة للاعبين ضرورية لتعزيز معدّل الاحتفاظ باللاعبين من اليوم الأول وزيادة تفاعلهم على المدى الطويل.
Michelle Martin • مدّة القراءة: دقيقة واحدة
يمكنك الحصول على آخر الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.