مرونة في استخدام النماذج اللغوية الكبيرة، وتحسينات على "وضع الوكيل"، وتجارب جديدة مستندة إلى الذكاء الاصطناعي الوكيل في تحديث الإصدار 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. استفِد أكثر من "وضع الوكيل" مع هذه التحديثات الجديدة.
تشغيل تطبيقك والتفاعل معه على الأجهزة
يمكن لـ "وضع الوكيل" الآن نشر تطبيق على الجهاز المتصل، وفحص ما يظهر حاليًا على الشاشة، وأخذ لقطات شاشة، والتحقّق من أخطاء Logcat، والتفاعل مع التطبيق قيد التشغيل. يتيح ذلك للوكيل مساعدتك في إجراء التغييرات أو الإصلاحات التي تتطلّب إعادة تشغيل التطبيق والتحقّق من الأخطاء والتأكّد من إجراء تعديل معيّن بنجاح (على سبيل المثال، من خلال أخذ لقطات شاشة ومراجعتها).
يستخدم "وضع الوكيل" إجراءات الجهاز لتطبيق التغييرات والتحقّق منها
العثور على التغييرات ومراجعتها باستخدام لوحة التغييرات
يمكنك الآن الاطّلاع على جميع التغييرات التي أجراها وكيل الذكاء الاصطناعي وإدارتها باستخدام درج التغييرات. عندما يُجري الوكيل تغييرات على قاعدة الرموز البرمجية، يمكنك الاطّلاع على الملفات التي تم تعديلها في الملفات المطلوب مراجعتها. من هناك، يمكنك الاحتفاظ بالتغييرات أو التراجع عنها بشكل فردي أو جماعي. انقر على ملف فردي في الدرج للاطّلاع على الاختلافات في الرمز في المحرِّر وإجراء تحسينات إذا لزم الأمر. باستخدام درج التغييرات، يمكنك تتبُّع التعديلات التي أجراها الوكيل أثناء المحادثة والاطّلاع على تغييرات معيّنة بدون الحاجة إلى الرجوع إلى سجلّ المحادثة.
الاطّلاع على جميع الملفات التي اقترح فيها الوكيل تعديلات في لوحة التغييرات
ملاحظة: إذا كان خيار عدم طلب الإذن لتعديل الملفات غير مفعَّل في خيارات الوكيل ، سيطلب "وضع الوكيل" الإذن لكل تغيير فردي. يجب قبول كل تغيير قبل أن يظهر في لوحة التغييرات. للسماح بظهور تعديلات متعددة على الملفات في الدرج في الوقت نفسه، فعِّل خيار عدم طلب تعديل الملفات.
قبول تغيير لإضافته إلى درج التغييرات
إدارة سلاسل محادثات متعددة
يمكنك الآن تنظيم محادثاتك مع Gemini في استوديو Android في سلاسل محادثات متعددة. يتيح لك ذلك إنشاء محادثة جديدة أو سلسلة محادثات جديدة مع وكيل عندما تحتاج إلى البدء من جديد، ويمكنك الرجوع إلى المحادثات القديمة في علامة التبويب "السجلّ". يمكن أن يؤدي استخدام سلاسل محادثات منفصلة لكل مهمة مختلفة إلى تحسين جودة الردود من خلال حصر نطاق سياق الذكاء الاصطناعي في الموضوع المطروح فقط.
لبدء سلسلة محادثات جديدة، انقر على محادثة جديدة. للاطّلاع على سجلّ المحادثات، انقر على المحادثات الأخيرة.
الاطّلاع على المحادثات السابقة في علامة التبويب "المحادثات الأخيرة"
يتم حفظ سجلّ محادثاتك في حسابك، لذا إذا اضطررت إلى تسجيل الخروج أو تبديل الحسابات، يمكنك المتابعة من حيث توقفت عند العودة.
"رحلات" في "استوديو Android"
يمكن أن يؤدي إجراء اختبارات شاملة لواجهة المستخدم إلى تعزيز الثقة في إطلاق تطبيق عالي الجودة، ولكن قد يكون من الصعب كتابة هذه الاختبارات والحفاظ عليها، كما أنّها قد تكون غير مرنة ومحدودة في ما يمكنك اختباره. تستفيد ميزة الرحلات في "استوديو Android" من إمكانات الاستدلال والرؤية في Gemini لتتيح لك كتابة اختبارات شاملة لواجهة المستخدم والحفاظ عليها باستخدام تعليمات باللغة الطبيعية. وهي متاحة الآن في أحدث إصدار ثابت من "استوديو Android" عند تفعيلها من Studio Labs في إعدادات "استوديو Android".
"رحلات" في "استوديو Android"
يتم تحويل هذه التعليمات المكتوبة بلغة طبيعية إلى تفاعلات ينفّذها Gemini مباشرةً على تطبيقك، ما يسهّل كتابة الاختبارات وفهمها، ويتيح لك أيضًا تحديد عبارات تحقّق معقّدة يقيّمها Gemini استنادًا إلى ما "يراه" على شاشة الجهاز. بما أنّ Gemini يحلّل كيفية تحقيق أهدافك، تكون هذه الاختبارات أكثر مرونة في التعامل مع التغييرات الطفيفة في تنسيق تطبيقك، ما يقلّل بشكل كبير من الاختبارات غير المستقرة عند تشغيلها على إصدارات مختلفة من التطبيق أو إعدادات مختلفة للأجهزة.
Journeys for Android Studio
يمكنك كتابة الرحلات وتشغيلها مباشرةً من Android Studio على أي جهاز محلي أو بعيد. توفّر بيئة التطوير المتكاملة (IDE) تجربة جديدة للمحرِّر من أجل إنشاء خطوات الاختبار في ملف XML، باستخدام طريقة عرض الرمز أو طريقة عرض التصميم المخصّصة. عند تنفيذ رحلة، يقدّم "استوديو Android" نتائج غنية بالتفاصيل تساعدك في تتبُّع تنفيذ Gemini. تقسّم لوحة الاختبار الرحلة بأكملها إلى خطوات منفصلة، وتعرض لك لقطات شاشة لكل إجراء، والإجراء الذي تم اتخاذه، وتفسير Gemini لسبب اتخاذ هذا الإجراء، ما يجعل تصحيح الأخطاء والتحقّق منها أكثر وضوحًا من أي وقت مضى. وبما أنّ الرحلات يتم تنفيذها كمهام Gradle، يمكنك تنفيذها من سطر الأوامر بعد إثبات ملكية حسابك باستخدام مشروع على Google Cloud.
إتاحة استخدام خوادم MCP عن بُعد
يتيح لك Android Studio الآن الاتصال مباشرةً بخوادم "بروتوكول سياق النموذج" (MCP) البعيدة، مثل Figma وNotion وCanva وLinear وغيرها. يقلّل ذلك بشكل كبير من التبديل بين السياقات لأنّه يتيح لوكيل الذكاء الاصطناعي في استوديو Android الاستفادة من الأدوات الخارجية، ما يساعدك في الحفاظ على تركيزك. على سبيل المثال، يمكنك الربط بخادم MCP عن بُعد في Figma للوصول إلى الملفات وتقديم هذه المعلومات إلى Agent Mode، ما يتيح إنشاء رمز برمجي أكثر دقة من تصاميمك. لمزيد من المعلومات عن كيفية إضافة خادم MCP، اطّلِع على مقالة إضافة خادم MCP.
الاتصال بخادم MCP البعيد في Figma من خلال إعدادات Android Studio
إضافة شاشة بسرعة إلى تطبيقك باستخدام خادم MCP البعيد في Figma
تحسين تطوير واجهة المستخدم باستخدام "وضع الوكيل"
أصبح Gemini في "استوديو Android" مدمجًا الآن في سير عمل تطوير واجهة المستخدم مباشرةً من لوحة معاينة Compose، ما يساعدك في الانتقال من التصميم إلى التنفيذ عالي الجودة بشكل أسرع. تم تصميم هذه الإمكانات الجديدة المستندة إلى الوكلاء لمساعدتك في كل مرحلة من مراحل التطوير، بدءًا من إنشاء الرمز الأولي إلى التكرار والتنقيح وتصحيح الأخطاء، مع نقاط دخول في سياق عملك.
إنشاء واجهة مستخدم جديدة من نموذج تصميم
يمكنك تسريع عملية تنفيذ واجهة المستخدم الأولية من خلال إنشاء رمز Compose مباشرةً من نموذج تصميم. ما عليك سوى النقر على إنشاء رمز من لقطة الشاشة في لوحة "المعاينة" فارغة، وسيستخدم Gemini الصورة لإنشاء عملية تنفيذ أولية، ما يوفّر عليك عناء كتابة الرمز النموذجي من البداية.
إنشاء رمز برمجي من لقطة شاشة في لوحة "المعاينة" فارغة
مثال على تحويل التصميم إلى رمز Compose
مطابقة واجهة المستخدم مع صورة مستهدَفة
بعد إجراء عملية التنفيذ الأولية، يمكنك تحسينها بشكل متكرّر لتكون مثالية. انقر بزر الماوس الأيمن على "معاينة الإنشاء" واختَر إجراءات الذكاء الاصطناعي > مطابقة واجهة المستخدم مع الصورة المستهدَفة. حمِّل تصميمًا مرجعيًا، وسيقترح الوكيل تغييرات في الرمز البرمجي لكي تتطابق واجهة المستخدم مع التصميم قدر الإمكان.
مثال على استخدام ميزة "مطابقة واجهة المستخدم مع الصورة المستهدَفة"
تكرار واجهة المستخدم باستخدام اللغة الطبيعية
لإجراء تغييرات أكثر تحديدًا أو إبداعًا، انقر بزر الماوس الأيمن على المعاينة واستخدِم إجراءات الذكاء الاصطناعي > تغيير واجهة المستخدم. تستفيد هذه الميزة الآن من "وضع الوكيل" للتحقّق من صحة النتائج، ما يجعلها أكثر فعالية ودقة. يمكنك استخدام طلبات باللغة الطبيعية، مثل "تغيير لون الزر إلى الأزرق" أو "إضافة مساحة فارغة حول هذا النص"، وسيطبّق Gemini تعديلات الرمز البرمجي على الفور.
مثال على استخدام "تغيير واجهة المستخدم"
العثور على مشاكل جودة واجهة المستخدم وحلّها
يعد التحقق من أن واجهة المستخدم الخاصة بك عالية الجودة وأكثر سهولة في الوصول إليها خطوة أخيرة حاسمة. تُجري أداة إجراءات الذكاء الاصطناعي > إصلاح جميع مشاكل واجهة المستخدم تدقيقًا لواجهة المستخدم بحثًا عن المشاكل الشائعة، مثل مشاكل تسهيل الاستخدام. سيقترح الموظف بعد ذلك حلولاً ويطبّقها لحلّ المشاكل التي تم رصدها.
نقطة الدخول لتفعيل ميزة "حلّ جميع مشاكل التحقّق من واجهة المستخدم"
يمكنك أيضًا العثور على الوظيفة نفسها باستخدام الزر الإصلاح باستخدام الذكاء الاصطناعي في وضع التحقّق من واجهة مستخدم Compose:
ميزة "الإصلاح باستخدام الذكاء الاصطناعي" في وضع "التحقّق من واجهة المستخدم"
يمكن أيضًا الوصول إلى الميزات المذكورة أعلاه من خلال رمز شريط الأدوات في لوحة "المعاينة":
نقطة دخول ثانية إلى ميزات الذكاء الاصطناعي لتطوير واجهة المستخدِم
بالإضافة إلى تكرار واجهة المستخدم، يساعد Gemini أيضًا في تبسيط بيئة التطوير.
لتسريع عملية الإعداد، يمكنك إجراء ما يلي:
- إنشاء معاينات Compose: تم تحسين هذه الميزة الآن من خلال "وضع الوكيل" لتقديم نتائج أكثر دقة. عند العمل في ملف يحتوي على دوال Composable ولكن بدون تعليقات توضيحية @Preview، يمكنك النقر بزر الماوس الأيمن على Composable واختيار Gemini > إنشاء معاينة [اسم Composable]. سيحلّل الوكيل الآن الدالة المركّبة بشكل أفضل لإنشاء النص النموذجي اللازم باستخدام المَعلمات الصحيحة، ما يساعد في التأكّد من إضافة معاينة تم عرضها بنجاح.
نقطة الدخول لإنشاء معاينة 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" Feature Drop الذي يتضمّن الإصدار 8.12 من "مكوّن Android الإضافي لنظام Gradle" والإصدارات الأحدث، لم تعُد هذه الخطوة الإضافية ضرورية. يرصد Logcat الآن تلقائيًا عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تمت معالجتها باستخدام R8، ويعيد تتبُّعها، ما يتيح لك الاطّلاع على تسلسل استدعاء الدوال البرمجية الأصلي والقابل للقراءة مباشرةً في بيئة التطوير المتكاملة. يوفّر ذلك تجربة تصحيح أخطاء محسّنة كثيرًا بدون الحاجة إلى أي عمل إضافي.
يرصد 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 Otter 3 في الإصدار الثابت، بما في ذلك تحسينات على "وضع الوكيل" والعديد من التحديثات الأخرى لتوفير المزيد من التحكّم والمرونة في استخدام الذكاء الاصطناعي لمساعدتك في إنشاء تطبيقات Android عالية الجودة.
Trevor Johns • مدّة القراءة: 4 دقائق -
أخبار المنتجاتواليوم، شاركنا كيف ننتقل برؤيتنا "أكثر من مجرد متجر" إلى الفصل التالي. من علامة التبويب "أنت"، التي أصبحت الآن وجهة مفضّلة لأكثر من 250 مليون مستخدم نشط شهريًا، إلى منصة الألعاب الموحّدة التي تربط أكثر من 700 مليون ملف شخصي للاعبين، يلبّي Google Play احتياجات المستخدمين أينما كانوا.
Paul Feng • مدّة القراءة: 3 دقائق
يمكنك تلقّي آخر الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.