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

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

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

الإنشاء والتشغيل الأساسي

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

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

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

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

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

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

مراقبة عملية الإنشاء

للاطّلاع على تفاصيل حول عملية الإصدار، اختَر عرض > نظام التشغيل 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 Studio لتلبية احتياجاتك في مجال التطوير، ولكن يمكنك أيضًا نشر تطبيقك على جهاز افتراضي أو مادي من خلال سطر الأوامر. لمزيدٍ من المعلومات، يُرجى الاطِّلاع على مقالة إنشاء تطبيقك من سطر الأوامر.

النشر بشكل تدريجي باستخدام ميزة "تطبيق التغييرات"

في الإصدار 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 Studio > التفضيلات من القائمة.
  2. انتقِل إلى الإنشاء والتنفيذ والنشر > النشر.

  3. حدد مربعات الاختيار لتمكين احتياطي التشغيل التلقائي لأي من إجراءي تطبيق التغييرات أو كليهما.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تعديل مباشر

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نافذة إصدار نسخة تعرض أخطاء تعارض الخيارات

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

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

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

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

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

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

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