إنشاء تطبيق اندرويد

الإعلانات

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

 

إنشاء تطبيق اندرويد

يقوم اندرويد ستوديو بإعداد مشاريع جديدة، لنشرها على محاكي اندرويد أو على جهاز متصل، ببضع نقرات.

بمجرد تثبيت تطبيقك، يصبح بإمكانك إستخدام تطبيق التغييرات Apply Changes لنشر بعض التغييرات في الكود والمصادر، من دون إنشاء ملف APK جديد.

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

  1. في شريط الأدوات، حدد تطبيقك من خلال القائمة المنسدلة “تكوينات التشغيل\run configurations”.
  2. من القائمة المنسدلة “الجهاز المستهدف\target device”، حدد الجهاز الذي تريد تشغيل تطبيقك عليه.

 

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

3. اضغط تشغيل Run.

ملاحظة: يمكنك أيضاً نشر تطبيقك في وضع التصحيح بالنقر فوق تصحيح debug.

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

لمعرفة المزيد، راجع تصحيح تطبيقك.

 

إنشاء تطبيق اندرويد

 

تغيير تكوين وضعي التشغيل/التصحيح


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

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

 

يقوم التكوين الإفتراضي لوضعي التشغيل/التصحيح (run/debug configuration)، بإنشاء ملف APK وتشغيل النشاط الإفتراضي

للمشروع، ويستخدم مربع الحوار Select Deployment Target لإختيار الجهاز المستهدف.

إذا كانت الإعدادات الإفتراضية لا تتناسب مع مشروعك أو نموذجك، فيمكنك تخصيص تكوين وضعي التشغيل/التصحيح، أو حتى

إنشاء تكوين جديد، على مستوى المشروع، أو المستوى الإفتراضي، أو مستوى النموذج.

 

لتحرير تكوين وضعي التشغيل/التصحيح، حدد Run > Edit Configurations. لمزيد من المعلومات، راجع إنشاء وتحرير تكوينات

وضعي التشغيل/ التصحيح.

 

 

إنشاء تطبيق اندرويد

 

تغيير Build Variant متغير البناء


بشكلٍ إفتراضي، يقوم اندرويد ستوديو بإنشاء إصدار تصحيح الأخطاء لتطبيقك، والمخصص للإستخدام أثناء التطوير فقط، عند النقر فوق تشغيل Run.

لتغيير متغير البناء build variant الذي يستخدمه اندرويد ستوديو، حدد Build> Select Build Variant من خلال شريط القوائم.

بالنسبة للمشروعات التي لا تحتوي على كود C++/ أصلي، تحتوي لوحة Build Variants على عمودين: Module و Active Build Variant.

تحدد قيمة Active Build Variant للنموذج أي نوع من أنواع البناء يقوم IDE بنشره، على جهازك المتصل ويكون مرئياً في المحرر.

الشكل 1. تحتوي لوحة Build Variants على عمودين للمشاريع التي لا تحتوي على كود C++/ أصلي.

للتبديل بين المتغيرات، انقر فوق الخلية Active Build Variant لنموذجٍ ما، و أختر المتغير المطلوب من حقل القائمة.

بالنسبة للمشروعات ذات كود C++/ الأصلي، تحتوي لوحة Build Variants على ثلاثة أعمدة: Module و Active Build Variant و Active ABI.

قيمة Active Build Variant للنموذج، تحدد متغير البناء الذي ينشره IDE على جهازك، ويكون مرئياً في المحرر. بالنسبة للنماذج

الأصلية، تقوم قيمة Active ABI بتحديد الـABI التي يستخدمها المحرر، ولكنها لا تؤثر على ما يتم نشره.

الشكل 2. تضيف لوحة Build Variants عمود Active ABI للمشروعات ذات كود ++C/ الأصلي.

لتغيير Build Variant متغير البناء أو ABI، انقر فوق الخلية الخاصة بعمود Active Build Variant أو Active ABI ثم أختر المتغير المطلوب أو ABI من القائمة.

بعد تغيير العمود المحدد، يقوم IDE بمزامنة مشروعك تلقائياً. سيؤدي تغيير إما العمود الخاص بنموذج التطبيق أو العمود الخاص

بنموذج المكتبة، إلى تطبيق التغييرات على كافة الصفوف التابعة لهذا العمود.

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

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

 

 

إنشاء تطبيق اندرويد

إنشاء مشروعك


يقوم زر التشغيل Run بإنشاء تطبيقك ونشره على الجهاز. مع ذلك، لإنشاء تطبيق؛ لمشاركته أو تحميله على قوقل بلاي،

ستحتاج إلى إستخدام أحد الخيارات في قائمة Build لتجميع أجزاء من\أو كل مشروعك.

قبل تحديد أي من خيارات الإنشاء المدرجة في الجدول 1، تأكد أولاً من إختيارك لمتغير البناء الذي تريد إستخدامه.

ملاحظة: يحتاج اندرويد ستوديو إلى AAPT2 لإنشاء حزم التطبيقات، والتي يتم تمكينها للمشاريع الجديدة إفتراضياً.

مع ذلك، للتأكد من تمكينها في المشاريع الحالية، قم بتضمين android.enableAapt2=true في ملف gradle.properties الخاص بك، ثم

أعد تشغيل Gradle daemon عن طريق تشغيل gradlew –stop/. من خلال سطر الأوامر.

جدول 1. خيارات البناء في قائمة البناء.

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

يمكنك تحديد النموذج المراد إنشاؤه عن طريق تحديد اسم النموذج أو أحد ملفاته في نافذة Project.

هذا الأمر لا ينشئ ملف APK.
Make Project
إنشاء مشروع
لإنشاء كافة النماذج.
Clean Project
تنظيف المشروع
لحذف كافة ملفات الإنشاء الوسيطة والمخزنة مؤقتاً.
Rebuild Project
إعادة بناء المشروع
يقوم بتشغيل Clean Project لمتغير البناء المحدد وينشئ ملف APK.
Build Bundle(s) / APK(s) > Build APK(s)تنشئ ملف APK لكل النماذج في المشروع الحالي، للمتغير الذي تم إختياره. عند إكتمال عملية البناء، يظهر إشعار تأكيد يوفر رابطاً لملف APK ورابطاً لتحليل الملف في APK Analyzer.

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

بدلاً من ذلك، يمكنك تحديد Build > Generate Signed Bundle / APK من شريط القوائم.

يقوم اندرويد ستوديو بحفظ ملفات APK التي تنشئها في project-name/module-name/build/outputs/apk/.
Build Bundle(s) / APK(s) > Build Bundle(s)يبني حزمة تطبيقات اندرويد لجميع النماذج في المشروع الحالي، للمتغير الذي تم إختياره. عند إكتمال عملية البناء، يظهر إشعار تأكيد يوفر رابطاً إلى حزمة التطبيق ورابطاً لتحليلها في APK Analyzer.

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

إذا قمت بتحديد متغير الإطلاق، فلن يتم توقيع حزمة التطبيق إفتراضياً، ويجب عليك توقيعها يدوياً بإستخدام jarsigner.

بدلاً من ذلك، يمكنك تحديد Build > Generate Signed Bundle / APK من شريط القوائم.

يقوم اندرويد ستوديو بحفظ ملفات APK التي تنشئها في project-name/module-name/build/outputs/bundle/.
Generate Signed Bundle / APKيظهر مربع حوار مع معالج لإعداد تكوين توقيع جديد، ويقوم إما بإنشاء حزمة تطبيقات موقعة أو ملف APK.

تحتاج إلى توقيع تطبيقك بإستخدام release key قبل أن تتمكن من تحميله على Play Console. لمزيد من المعلومات حول توقيع التطبيق، راجع توقيع تطبيقك.
ملاحظة: يقوم زر التشغيل Run بإنشاء ملف APK بإستخدام “testOnly=”true، مما يعني أنه لا يمكن تثبيت ملف APK إلا من خلال adb (الذي يستخدمه اندرويد ستوديو).

إذا كنت ترغب في ملف APK قابل للتصحيح، بحيث يمكن للأشخاص تثبيته من دون adb، فحدد متغير تصحيح الأخطاء ثم انقر فوق

(Build Bundle(s) / APK(s) > Build APK(s.

للحصول على تفاصيل حول المهام التي ينفذها Gradle لكل أمر، أفتح نافذة البناء Build كما هو موضح في القسم التالي. لمزيد

من المعلومات حول Gradle وعملية الإنشاء، راجع تكوين بنائك.

 

إنشاء تطبيق اندرويد

 

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


يمكنك عرض تفاصيل عملية البناء بالنقر فوق View > Tool Windows > Build (أو بالنقر فوق إنشاء Build في شريط نافذة الأدوات).

تعرض النافذة المهام التي ينفذها Gradle من أجل إنشاء تطبيقك، كما هو مبين في الشكل 3.

الشكل 3. نافذة مخرجات البناء في اندرويد ستوديو.

1. علامة تبويب Build: تعرض المهام التي ينفذها Gradle كشجرة، حيث تمثل كل عقدة إما مرحلة بناء، أو مجموعة من إعتمادات المهام.

إذا تلقيت أخطاء خلال وقت الإنشاء أو خلال وقت التجميع البرمجي compile، فقم بفحص الشجرة، وحدد عنصراً لقراءة ناتج الخطأ، كما هو مبين في الشكل 4.

الشكل 4. فحص نافذة مخرجات البناء لرسائل الخطأ.

2. علامة تبويب Sync: تعرض المهام التي ينفذها Gradle للمزامنة مع ملفات مشروعك. بشكلٍ مشابه لعلامة التبويب

Build، إذا واجهت خطأ في المزامنة، فحدد إحدى عناصر الشجرة، للعثور على مزيد من المعلومات حول الخطأ.

3. إعادة التشغيل Restart: تنفذ نفس الإجراء الذي ينفذه تحديد Build> Make Project من خلال إنشاء ملفات بناء وسيطة، لجميع النماذج الموجودة في مشروعك.

4. تبديل العرض Toggle view: للتبديل بين “عرض تنفيذ المهمة كشجرة رسومية” و “عرض مخرج نص أكثر تفصيلاً من

Gradle” – فهذا هو نفس الناتج\المخرج الذي تراه في نافذة Gradle Console على اندرويد ستوديو 3.0 والإصدارات السابقة.

إذا كانت متغيرات البناء الخاصة بك، تستخدم نكهات المنتج، فإن Gradle ستقوم أيضاً بإستدعاء مهام لبناء نكهات المنتج هذه.

لعرض قائمة بكافة مهام البناء المتاحة، انقر فوق View > Tool Windows > Gradle (أو انقر فوق Gradle في شريط نافذة الأدوات).

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

لإستخدام خيارات سطر الأوامر مع عملية البناء:

1. افتح مربع حوار Settings أو Preferences:

      • على نظامي ويندوز أو لينوكس، حدد  File > Settings من شريط القوائم.
      • على أنظمة ماك، حدد Android Studio > Preferences من شريط القوائم.

2. انتقل إلى Build, Execution, Deployment > Compiler.

3. في حقل النص الموجود بجانب خيارات سطر الأوامر “Command-line Options”، أدخل خيارات سطر الأوامر.

4. انقر فوق OK للحفظ والخروج.

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

 

إنشاء تطبيق اندرويد

تطبيق التغييرات


في اندرويد ستوديو 3.5 والإصدارات الأحدث، تطبيق التغييرات يتيح لك إرسال التغييرات الموجودة في الكود والمصادر إلى تطبيقك

الذي هو قيد التشغيل حالياً، دون إعادة تشغيله، وفي بعض الحالات، دون إعادة تشغيل النشاط الحالي.

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

الحفاظ على الحالة الحالية لجهازك.

تطبيق التغييرات يستخدم القدرات الموجودة في تنفيذ اندرويد JVMTI المدعوم على الأجهزة التي تعمل بنظام اندرويد 8.0

(المستوى API 26) أو أعلى.

لمعرفة المزيد حول كيفية عمل تطبيق التغييرات، راجع مشروع ماربل لأندرويد ستوديو: تطبيق التغييرات.

 

المتطلبات

إجراءات تطبيق التغييرات، تكون متاحة فقط في حالة إستيفائك للشروط التالية:

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

 

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

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

تطبيق التغييرات وإعادة تشغيل النشاط

لمحاولة تطبيق كلٍ من تغييرات المصادر والأكواد عن طريق إعادة تشغيل النشاط، ولكن من دون إعادة تشغيل التطبيق.

بشكلٍ عام، يمكنك إستخدام هذا الخيار عندما تقوم بتعديل الأكواد في بُنية الدالة أو تعديل مصدر موجود.

يمكنك أيضاً، تنفيذ هذا الإجراء عن طريق الضغط على Ctrl+Alt+F10 (أو Control+Shift+Command+R على أجهزة ماك).

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

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

إذا قمت بتعديل كلٍ من الأكواد والمصادر، فإستخدم Apply Changes and Restart Activity بدلاً من ذلك.

يمكنك أيضاً تنفيذ هذا الإجراء عن طريق الضغط على Ctrl+F10 (أو Control+Command+R على أجهزة ماك).

 

التشغيل

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

لمعرفة المزيد حول أنواع التغييرات التي تتطلب إعادة تشغيل التطبيق، راجع قيود تطبيق التغييرات.

 

تمكين Run fallback لتطبيق التغييرات

بعد النقر إما فوق Apply Changes and Restart Activity أو Apply Code Changes، يقوم اندرويد ستوديو بإنشاء ملف APK

جديد، ويحدد ما إذا كان يمكن تطبيق التغييرات.

إذا كان لا يمكن تطبيق التغييرات، وهناك إمكانية لأن تتسبب في فشل عملية تطبيق التغييرات، فسيطالبك اندرويد ستوديو

بتشغيل تطبيقك مرة أخرى بدلاً من ذلك.

ومع ذلك، إذا كنت لا ترغب في مطالبتك بتشغيل تطبيقك، في كل مرة يحدث فيها هذا، يمكنك تكوين اندرويد ستوديو لكي يقوم

بإعادة تشغيل التطبيق تلقائياً عند تعذر تطبيق التغييرات.

 

لتمكين هذا السلوك، اتبع الخطوات التالية:

1. افتح مربع حوار Settings أو Preferences:

      • على نظامي ويندوز أو لينوكس، حدد File > Settings من شريط القوائم.
      • على نظام ماك، حدد Android Studio > Preferences من شريط القوائم.

2. انتقل إلى Build, Execution, Deployment > Deployment.

3. حدد مربع الإختيار لتمكين Run fallback التلقائي، لأيٍ من إجراءات تطبيق التغييرات.

4. انقر فوق OK.

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

مثال، إذا قمت بإجراء تغييرات على دالة ()onCreate الخاصة بالنشاط، فإن هذه التغييرات تصبح نافذة المفعول فقط بعد إعادة تشغيل النشاط، لذا يجب إعادة تشغيل التطبيق لرؤية تلك التغييرات.

 

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

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

أية مشكلات أثناء إستخدام تطبيق التغييرات، فقم بتقديم تقرير بالخطأ.

 

تغييرات الكود التي تتطلب إعادة تشغيل التطبيق

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

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

 

المكتبات والإضافات

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

يمكن أن تتداخل هذه التحديثات التلقائية مع تطبيق التغييرات بالطرق التالية:

    • إذا قامت مكتبةٍ ما أو مكون إضافي، بإجراء تغييرات على ملف إيضاح التطبيق، فلن تتمكن من إستخدام أياً من Apply Code Changes أو Apply Changes and Restart Activity وسيتوجب عليك إعادة تشغيل تطبيقك قبل أن تتمكن من رؤية التغييرات.
    • إذا قامت مكتبةٍ ما أو مكون إضافي، بإجراء تغييرات على ملفات مصادر التطبيق، فلن تتمكن من إستخدام Apply Code Changes وسيتوجب عليك إستخدام Apply Changes and Restart Activity، لرؤية التغييرات.

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

على سبيل المثال، تقوم Crashlytics بتحديث مصادر التطبيق، بمعرّف بناء فريد خلال كل عملية بناء، مما يمنعك من إستخدام Apply Code Changes ويتطلب منك إعادة تشغيل نشاط تطبيقك، لرؤية التغييرات.

يمكنك تعطيل هذا السلوك بحيث تتمكن من إستخدام Apply Code Changes إلى جانب Crashlytics بإستخدام وضع التصحيح.

 

الكود الذي يشير مباشرة إلى المحتوى في APK المثبت

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

أعطال، أو إساءة التصرف بعد النقر على Apply Code Changes.

يحدث هذا السلوك لأنه عند النقر فوق Apply Code Changes، يتم إستبدال ملف APK الأساسي على الجهاز أثناء عملية التثبيت.

في هذه الحالات، يمكنك النقر فوق Apply Changes and Restart Activity أو Run، بدلاً من ذلك.


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات

اترك رد