إنشاء تطبيقك وتشغيله

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

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

الإصدار الأساسي والتشغيل

لإنشاء تطبيقك وتشغيله، اتّبِع الخطوات التالية:

  1. في شريط الأدوات، حدد تطبيقك من قائمة تشغيل الإعدادات.
  2. في قائمة "الجهاز المستهدف"، حدد الجهاز الذي تريد تشغيل تطبيقك عليه.

    قائمة الجهاز المستهدف.

    إذا لم يتم إعداد أي أجهزة لديك، عليك إنشاء جهاز Android افتراضي لاستخدام محاكي Android أو توصيل جهاز فعلي.

  3. انقر على رمز التشغيل .

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

مراقبة عملية الإصدار

للاطّلاع على تفاصيل عن عملية الإصدار، اختَر عرض > أداة Windows > إصدار أو انقر على الإصدار في شريط نوافذ الأدوات. تعرض نافذة أداة إنشاء المهام التي ينفّذها Gradle لإنشاء تطبيقك، كما هو موضّح في الشكل 1.

الشكل 1. نافذة أداة إنشاء في "استوديو Android"
  1. علامة التبويب "المزامنة": تعرض المهام التي ينفّذها تطبيق Gradle للمزامنة مع ملفات مشروعك. كما هي الحال في علامة التبويب إنشاء النتائج، إذا صادفت خطأ في المزامنة، اختَر العناصر في العرض التدرّجي للحصول على مزيد من المعلومات حول الخطأ. ويعرض أيضًا ملخّصًا عن تأثير التنزيل لتحديد ما إذا كانت عمليات التنزيل التي تعتمد على الاعتماد تؤثر سلبًا في الإصدار الخاص بك.
  2. علامة التبويب "إنشاء النتائج": تعرض المهام التي ينفّذها تطبيق Gradle على شكل شجرة، حيث تمثل كل عقدة إما مرحلة إصدار أو مجموعة من تبعيات المهام. إذا ظهرت لك أخطاء في وقت الإنشاء أو في وقت التجميع، افحص العرض التدرّجي واختَر عنصرًا لقراءة ناتج الخطأ، كما هو موضّح في الشكل 2.
    الشكل 2. افحص علامة التبويب إنشاء النتائج بحثًا عن رسائل الخطأ.
  3. علامة تبويب "أداة تحليل الإصدارات": تقدّم هذه الصفحة معلومات عن تحليل أداء الإصدار. راجِع تحديد وحلّ المشاكل المتعلقة بأداء الإصدار باستخدام أداة تحليل الإصدارات للحصول على مزيد من المعلومات.
  4. إعادة التشغيل: يؤدي هذا الإجراء إلى تنفيذ آخر إجراء الإصدار مرة أخرى. إذا قمت بتشغيل آخر مرة إنشاء > إنشاء وحدة محدّدة، سيتم إنشاء الوحدة الحالية. إذا أجريت آخر تشغيل للخيار إنشاء > إنشاء مشروع، سيتم إنشاء ملفات إصدار متوسط لجميع الوحدات في مشروعك.
  5. الفلاتر: تتم فلترة التحذيرات أو المهام أو كليهما التي تم إكمالها بنجاح. يمكن أن يسهِّل ذلك العثور على المشاكل في النتائج.

إذا كانت خيارات التصميم تستخدم نكهات المنتجات، يستدعي Gradle أيضًا مهامًا لتصميم نكهات المنتجات تلك. للاطّلاع على قائمة بجميع مهام الإصدار المتاحة، انقر على عرض > أداة Windows > Gradle أو انقر على أداة Gradle في شريط نوافذ الأدوات.

في حال حدوث خطأ أثناء عملية الإصدار، قد يقترح تطبيق Gradle خيارات سطر الأوامر لمساعدتك في حل المشكلة، مثل --stacktrace أو --debug. لاستخدام خيارات سطر الأوامر في عملية التصميم:

  1. افتح مربّع حوار الإعدادات أو الإعدادات المفضّلة:
    • على نظام التشغيل Windows أو Linux، اختَر ملف > الإعدادات من شريط القوائم.
    • على نظام التشغيل macOS، اختَر استوديو Android > الإعدادات المفضّلة من شريط القوائم.
  2. انتقِل إلى الإصدار والتنفيذ والنشر > برنامج التحويل.
  3. في حقل النص بجانب خيارات سطر الأوامر، أدخِل خيارات سطر الأوامر.
  4. انقر على حسنًا للحفظ والخروج.

يطبق Gradle خيارات سطر الأوامر هذه في المرة التالية التي تحاول فيها إنشاء تطبيقك.

ميزات متقدّمة لإصدارها وتشغيلها

من المفترض أن تكون الطريقة التلقائية لإنشاء تطبيقك وتشغيله في "استوديو Android" كافية لاختبار تطبيق بسيط، ولكن يمكنك استخدام ميزات الإصدار وتشغيله هذه للاستفادة من حالات استخدام أكثر تقدّمًا:

  • لنشر تطبيقك في وضع تصحيح الأخطاء، انقر على تصحيح الأخطاء . يتيح لك تشغيل تطبيقك في وضع تصحيح الأخطاء تعيين نقاط توقف في التعليمات البرمجية وفحص المتغيرات وتقييم التعبيرات في وقت التشغيل وتشغيل أدوات تصحيح الأخطاء. لمزيد من المعلومات، يمكنك الاطّلاع على تصحيح أخطاء تطبيقك.

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

  • إذا كنت تستخدم Jetpack Compose، يمكنك استخدام ميزة "التعديل المباشر" كميزة تجريبية تتيح لك تحديث العناصر في الوقت الفعلي بدون النقر مجددًا على تشغيل . يتيح لك هذا التركيز على كتابة رمز واجهة المستخدم بأقلّ مقاطعة. لمزيد من المعلومات، يُرجى مراجعة القسم التعديل المباشر (تجريبي).

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

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

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

النشر تدريجيًا باستخدام تطبيق التغييرات

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

ميزة "تطبيق التغييرات" تستخدم الإمكانات في عملية تنفيذ JVMTI على نظام التشغيل Android المتوافقة مع الأجهزة التي تعمل بنظام التشغيل Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث. لمعرفة المزيد من المعلومات حول آلية عمل "تطبيق التغييرات"، يمكنك الاطّلاع على مشروع Marble في "استوديو Android": تطبيق التغييرات.

الشروط

لا تتوفّر إجراءات تطبيق التغييرات إلا عند استيفاء الشروط التالية:

  • أنشئ حزمة APK لتطبيقك باستخدام صيغة إصدار تصحيح الأخطاء.
  • انشر تطبيقك على جهاز مستهدف أو محاكٍ يعمل بنظام التشغيل Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

استخدام تطبيق التغييرات

استخدِم الخيارات التالية عندما تريد نشر التغييرات على جهاز متوافق:

تطبيق التغييرات ونشاط إعادة التشغيل رمز تطبيق التغييرات وإعادة تشغيل النشاط: يسعى هذا الخيار إلى تطبيق التغييرات التي تطرأ على الموارد والرموز عن طريق إعادة تشغيل نشاطك ولكن بدون إعادة تشغيل التطبيق. وبشكل عام، يمكنك استخدام هذا الخيار عند تعديل الرمز في نص الطريقة أو تعديل مورد حالي.

يمكنك أيضًا تنفيذ هذا الإجراء من خلال الضغط على Control+Alt+F10 (Control+Command+Shift+R على نظام التشغيل macOS).

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

يمكنك أيضًا تنفيذ هذا الإجراء من خلال الضغط على Control+F10 (Control+Command+R على نظام التشغيل macOS).

التشغيل : نشر جميع التغييرات وإعادة تشغيل التطبيق. استخدِم هذا الخيار عندما يتعذّر تطبيق التغييرات التي أجريتها باستخدام أيّ من خيارَي "تطبيق التغييرات". لمعرفة المزيد من المعلومات عن أنواع التغييرات التي تتطلب إعادة تشغيل التطبيق، يُرجى الاطّلاع على قسم قيود تطبيق التغييرات.

تفعيل الإجراء الاحتياطي لتطبيق التغييرات

عند النقر على تطبيق التغييرات ونشاط إعادة التشغيل أو تطبيق التغييرات على الرمز، ينشئ "استوديو Android" حزمة APK جديدة ويحدّد ما إذا كان من الممكن تطبيق التغييرات أم لا. وإذا تعذّر تطبيق التغييرات وستؤدي إلى تعذُّر تطبيق التغييرات، سيطلب منك "استوديو Android" تشغيل رمز الجري تطبيقك مرة أخرى بدلاً من ذلك.

إذا كنت لا تريد أن تظهر لك رسالة مطالبة في كل مرة يحدث فيها ذلك، يمكنك ضبط "استوديو Android" على إعادة تشغيل تطبيقك تلقائيًا عندما يتعذّر تطبيق التغييرات. لتفعيل هذا السلوك، اتّبِع الخطوات التالية:

  1. افتح مربّع الحوار الإعدادات أو الإعدادات المفضّلة:

    • على نظام التشغيل Windows أو Linux، اختَر ملف > الإعدادات من القائمة.
    • على نظام التشغيل macOS، اختر استوديو Android > الإعدادات المفضّلة من القائمة.
  2. انتقِل إلى الإنشاء والتنفيذ والنشر > النشر.

  3. ضع علامة في مربّعات الاختيار لتفعيل الإجراء الاحتياطي للتشغيل التلقائي لأيّ من إجراءَي "تطبيق التغييرات" أو كليهما.

  4. انقر على حسنًا.

التغييرات التي تعتمد على النظام الأساسي

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

حدود تطبيق التغييرات

تم تصميم "تطبيق التغييرات" لتسريع عملية نشر التطبيق. ومع ذلك، هناك بعض القيود على وقت استخدامه.

تغييرات الرمز التي تتطلب إعادة تشغيل التطبيق

لا يمكن تطبيق بعض التغييرات في الرموز البرمجية والموارد حتى تتم إعادة تشغيل التطبيق، بما في ذلك ما يلي:

  • إضافة حقل أو إزالته
  • إزالة طريقة
  • تغيير توقيعات الطريقة
  • تغيير مفاتيح تعديل الطرق أو الفئات
  • تغيير البيانات الموروثة للفئة
  • تغيير القيم في التعدادات
  • إضافة مورد أو إزالته
  • تغيير بيان التطبيق
  • تغيير المكتبات الأصلية (ملفات SO)
المكتبات والمكوّنات الإضافية

تُجري بعض المكتبات والمكوّنات الإضافية تغييرات تلقائيًا على ملفات بيان تطبيقك أو الموارد المُشار إليها في البيان. وقد تتداخل هذه التحديثات التلقائية مع "تطبيق التغييرات" بالطرق التالية:

  • إذا أجرت مكتبة أو مكوّن إضافي تغييرات على بيان التطبيق، لن تتمكّن من استخدام "تطبيق التغييرات". يجب إعادة تشغيل التطبيق للاطّلاع على التغييرات.
  • إذا أجرت مكتبة أو مكوّنًا إضافيًا تغييرات على ملفات موارد تطبيقك، لن تتمكّن من استخدام تطبيق تغييرات الرمز رمز تطبيق تغييرات الرمز. عليك استخدام تطبيق التغييرات وإعادة تشغيل النشاط رمز تطبيق التغييرات وإعادة تشغيل النشاط (أو إعادة تشغيل تطبيقك) للاطّلاع على التغييرات التي أجريتها.

لتجنُّب هذه القيود، أوقِف جميع التحديثات التلقائية لمتغيرات إصدار تصحيح الأخطاء.

على سبيل المثال، تعمل أداة Firebase Crashlytics على تعديل موارد التطبيقات باستخدام رقم تعريف إصدار فريد أثناء كل إصدار، ما يمنعك من استخدام تطبيق تغييرات الرمز رمز تطبيق تغييرات الرمز وتتطلّب منك إعادة تشغيل نشاط التطبيق للاطّلاع على التغييرات التي أجريتها. أوقِف هذا السلوك لاستخدام ميزة تطبيق تغييرات الرمز مع أداة Crashlytics مع إصدارات تصحيح الأخطاء.

رمز يشير مباشرةً إلى المحتوى في حزمة APK مثبَّتة

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

إذا واجهت أي مشاكل أخرى أثناء استخدام "تطبيق التغييرات"، يُرجى الإبلاغ عن خطأ.

التعديل المباشر

إنّ ميزة "التعديل المباشر" هي ميزة تجريبية في "استوديو Android" تتيح لك في الوقت الفعلي تعديل العناصر المكوِّنة في المحاكيات والأجهزة الفعلية. تقلّل هذه الوظيفة من عمليات تبديل السياق بين الكتابة وإنشاء التطبيق، ما يتيح لك التركيز على كتابة الرمز لفترة أطول بدون انقطاع.

مزيد من المعلومات حول ميزة "التعديل المباشر"

تغيير صيغة الإصدار

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

لتغيير صيغة الإصدار التي يستخدمها "استوديو Android"، عليك تنفيذ أحد الإجراءَين التاليَين:

  • اختَر إنشاء > اختيار صيغة الإصدار في القائمة.
  • اختَر طريقة العرض > نوافذ الأدوات > إنشاء الصِيَغ في القائمة.
  • انقر على علامة التبويب إنشاء الصيغ في شريط نافذة الأدوات.

بالنسبة إلى المشاريع التي لا تتضمّن رموزًا برمجية أصلية/C++ ، تتضمّن لوحة إنشاء الصيغ عمودَين: الوحدة وصيغة الإصدار النشط. تحدِّد قيمة صيغة الإصدار النشط للوحدة صيغة الإصدار التي ينشرها بيئة التطوير المتكاملة على جهازك المتصل وتكون مرئية في أداة التعديل.

الشكل 9. تحتوي لوحة إنشاء الصيغ على عمودين للمشاريع التي لا تحتوي على رمز أصلي/ترميز C++.

للتبديل بين الصِيَغ، انقر على الخلية صيغة الإصدار النشط لإحدى الوحدات واختَر الصيغة المطلوبة من القائمة.

بالنسبة إلى المشاريع التي تتضمّن رموزًا برمجية أصلية/C++ ، تتضمّن لوحة إنشاء المتغيرات ثلاثة أعمدة:

  • الوحدة
  • صيغة الإصدار النشط
  • واجهة ABI نشطة

تحدّد قيمة صيغة التصميم النشط للوحدة متغيّر الإصدار الذي ينشره بيئة التطوير المتكاملة على جهازك ويظهر في أداة التعديل. بالنسبة إلى الوحدات المدمجة مع المحتوى، تحدِّد قيمة واجهة ABI النشطة قيمة ABI التي يستخدمها المحرِّر، ولكنها لا تؤثر في العناصر التي يتم نشرها.

الشكل 10. تضيف لوحة إنشاء الصيغ عمود واجهة ABI النشطة للمشاريع ذات الرموز الأصلية/C++.

لتغيير صيغة الإصدار أو واجهة التطبيق الثنائية (ABI)، انقر على الخلية لعمود صيغة الإصدار النشط أو واجهة ABI النشطة واختَر الصيغة المطلوبة أو واجهة التطبيق الثنائية (ABI) من القائمة. بعد تغيير الاختيار، يُزامن بيئة التطوير المتكاملة (IDE) مشروعك تلقائيًا. يؤدي تغيير أي عمود في وحدة تطبيق أو مكتبة إلى تطبيق التغيير على جميع الصفوف التابعة.

يتم تلقائيًا إعداد المشاريع الجديدة من خلال إصدارَين مختلفَين للإصدار، وهما: صيغة تصحيح الأخطاء ونسخة الإصدار. عليك إنشاء صيغة الإصدار من أجل إعداد تطبيقك للإصدار المتاح للجميع. لتحديد صيغ أخرى لتطبيقك بميزات أو متطلبات أجهزة مختلفة، يمكنك تحديد صيغ إصدار إضافية.

التعارضات في مربّع حوار صيغ إصدار "استوديو Android"

في مربّع الحوار إنشاء الصيغ في "استوديو Android"، قد تظهر لك رسائل خطأ تشير إلى حدوث تعارضات بين النُسخ المختلفة من الإصدار، مثل ما يلي:

نافذة إصدار "خيارات المنتج" تعرض أخطاءً في تعارض الصيغ

لا يشير هذا الخطأ إلى أنّ هناك مشكلة في إصدار Gradle. ويشير إلى أن بيئة التطوير المتكاملة لـ Android Studio لا يمكنها حل الرموز بين متغيرات الوحدات المحددة.

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

تظهر رسائل الخطأ هذه لأنه لا يمكن لـ IDE تحميل رمز لمتغيرات متعددة في وقت واحد. أمّا في تصميم تطبيقك، فليس للصيغة التي تم تحديدها في مربّع الحوار هذا أي تأثير، لأنّ Gradle يبني تطبيقك باستخدام الكود المصدر المحدد في وصفات إصدار Gradle، وليس بناءً على ما يتم تحميله حاليًا في بيئة التطوير المتكاملة (IDE).

تغيير إعدادات التشغيل/تصحيح الأخطاء

عند تشغيل تطبيقك للمرة الأولى، يستخدم "استوديو Android" إعدادات تشغيل تلقائية. تحدّد إعدادات التشغيل ما إذا كان سيتم نشر تطبيقك من حزمة APK أو حزمة تطبيقات Android بالإضافة إلى الوحدة النمطية للتشغيل، والحزمة المطلوب نشرها، والنشاط للبدء، والجهاز المستهدف، وإعدادات المحاكي، وخيارات Logcat وغيرها.

ينشئ الإعداد التلقائي للتشغيل/تصحيح الأخطاء ملف APK، ويطلق نشاط المشروع التلقائي، ويستخدم مربع الحوار اختيار هدف النشر لاختيار الجهاز المستهدف. إذا لم تكن الإعدادات التلقائية مناسبة لمشروعك أو وحدتك، يمكنك تخصيص إعدادات التشغيل/تصحيح الأخطاء أو إنشاء ضبط جديد على مستوى المشروع والإعداد التلقائي والوحدات.

لتعديل ضبط التشغيل/تصحيح الأخطاء، اختَر تشغيل > تعديل الإعدادات. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء إعدادات التشغيل/تصحيح الأخطاء وتعديلها.