تثبيت الفلاتر بدون استخدام أندرويد ستوديو

حرر نفسك

لماذا؟


قد تتسائل أولاً، مالداعي لكل هذا العناء والخوض في التفاصيل الدقيقة لطريقة التثبيت هذه، مع العلم أن الأندرويد ستوديو يقوم بكل ذلك عنك؟ أضف إلى الأندرويد ستوديو هو بيئة التطوير الرئيسية للفلاتر وبالاستغناء عنه أنت تستغني عن كل المميزات التي يقدمها لك؟

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

تهيئة


قبل أن أبدا لابد أن نتأكد بأنني أنا وأنت نعمل وفق نفس المبدأ وتحت نفس المتغيرات، وحتى لا أكون أنا في واد وأنت في واد آخر، فلنتفق على الأمور التالية:

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

    • إضغط على , وأكتب command prompt وأضغط على Enter.
    • إضغط على + R أكتب cmd أضغط على Enter.
  2. لإبقاء كل شيء في مكان واحد سيتم اعتماد المجلد C:\Android كمجلد العمل الرئيسي والذي سيكون كل عملنا تحت هذا المجلد، ويتم إنشاءه بالطريقة التالية:


cd C:\ mkdir Android cd Android
  1. من المهم جداً اتباع الخطوات حسب التسلسل الموضح في الدرس، وإلا قد لا تعمل بعض الأوامر بالشكل الصحيح.
  2. تم تنفيذ هذا الدرس على الويندوز الإصدار 10، وقد يعمل على إصدارات أقدم من الويندوز، ولكن لا أضمن لك ذلك.

تثبيت الجافا OpenJDK 8

نحتاج لتثبيت مكتبة الجافا OpenJDK 8 لذا قم بتحميل الملف المضغوط zip, وبكل بساطة قم بفك الضغط عنه وأعد تسمية المجلد الناتج jdk8u202-b08 ليصبح اسمه openjdk ومن ثم قوم بنسخه تحت المجلد C:\Android وبالتالي سيكون الامتداد الكامل للمجلد على النحو التالي:


C:\Android\openjdk

إن كنت مهتماً بالحصول على إصدارات أخرى من مكتبة الجافا يمكنك ذلك من خلال حسابهم على github على الرابط AdoptOpenJdk

تثبيت أدوات تطوير الخاصة بفلاتر

كالمتبع سابقاً، قدم بتحميل flutter sdk, فك الضغط عن الملف المحمل وانسخ المجلد flutter تحت المجلد C:\Android :


C:\Android\flutter

تثبيت أدوات سطر الأوامر الخاصة بالأندرويد

قم بتحميل إصدار الويندوز من Android command tools, وكما فعلت سابقاً, فك الضغط عنه وأعد تسمية المجلد tools ليصبح اسمه sdk, ثم انسخه تحت المجلد C:\Android وسيكون امتداده الكامل:


C:\Android\sdk

تعريف بعض متغيرات البيئة

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


setx JAVA_HOME "C:\Android\openjdk" setx ANDROID_HOME "C:\Android" setx ANDROID_SDK_ROOT "C:\Android\sdk" setx path "%path%;"C:\Android\sdk;C:\Android\sdk\bin;C:\Android\flutter\bin"

⚠️***مهم***: بالنسبة للأمر الأخير قد لا يعمل بشكل صحيح إن كان المتغير %path% طوله أكثر من 1024 حرف, في هذه الحالة تحتاج إلى تعديل هذا المتغير بشكل يدوي من خلال اتباع الخطوات التالية لوحة التحكم > النظام والحماية > النظام > إعدادت النظام المتقدمة ثم اختر متغيرات البيئة, اختر المتغير Path ومن ثم اختر تعديل، ثم أضغط على زر إضافة، وأضف المسارات التالية C:\Android\sdk;, C:\Android\sdk\bin، C:\Android\flutter\bin واحداً تلو الآخر.

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

تثبيت أدوات التطوير الخاصة بالأندرويد

لكون الفلاتر تحتاج لأدوات تطوير الأندرويد، لذا لا بد من تحميل1 بعض الحزم البرامج، من ضمنها (صور النظام، أد أدوات، أدوات البناء، منصات، محاكيات، مسرعات), وسنقوم بذلك مستخدمين الأمر sdkmanager والذي تم تحميله مع أدوات سطر الأندرويد التي قمنا بتحميلها سابقاً:


sdkmanager “system-images;android-27;default;x86_64” sdkmanager “platform-tools” sdkmanager “build-tools;28.0.3” sdkmanager “platforms;android-28” sdkmanager emulator sdkmanager extras;intel;Hardware_Accelerated_Execution_Manager

لتثبيت مسرع المعالج إنتل intel haxm للاستفادة من تسريع الهاردوير، قم تنفيذ الأمر التالي:


C:\Android\extras\intel\Hardware_Accelerated_Execution_Manager>intelhaxm-android.exe

أثناء عملية التثبيت هذه كانت الفلاتر تطلب بعض الأدوات بإصدارات محددة وهي الأداتين build-tools;28.03, و platforms;android-28 الخاصة بالأندرويد, ظهر لي ذلك عند تنفيذ الأمر flutter doctor -v الذي سيرد ذكره لاحقاً، لذا في حال ظهر لك نفس الشيء عندها يجب عليك تغيير الأرقام بما يتوافق مع الإصدارات المطلوبة.

⚠️ في بعض الأدوات أعلاه سيظهر لك مطالبة بالموافقة على الإتفاقيات، لذا من الضروري الموافقة عليها إن ظهرت بالضغط على y ثم Enter, وإلا لن يتم تحميل أي شيء.

الموافقة على التراخيص

قبل البدء في الشروع في استخدام أدوات تطوير أندرويد لا بد من الموافقة على التراخيص، ويتم ذلك باستخدام الأمر:


sdkmanager --licenses

فقط إضغط على y ثم Enter لكل ترخيص يظهر لك.

إعداد فلاتر

لابد من تغيير إعداد بسيط لسطر أوامر فلاتر، يتم ضبط الإعداد للمجلد المخصص لأدوات تطوير أندرويد:


flutter config --android-sdk C:\Android\

إنشاء المحاكي

إن أردت تجريب التطبيقات على محاكي الأندرويد لابد من إنشاء واحد، وسنقوم بإنشاء محاكي باسم “nexus”، أو يمكنك استخدام الاسم الذي تريده:


avdmanager -s create avd -n nexus -k “system-images;android-27;default;x86_64”

أجب بـ [no] للسؤال الظاهر، والمعني بتخصيص الإعدادات.

تشغيل المحاكي


flutter emulators --launch nexus

⚠️ إذا لم يعمل الأمر السابق بالشكل المطلوب, ففي الغالب يعود ذلك إلى أن دعم الأنظمة الإفتراضية غير مفعلة على المعالج الخاص بك أو أنها غير مدعومة، لذا قم بالرجوع للقسم إضافات أدناه لحل هذه المشكلة, أيضاً يمكنك معرفة السببت من خلال تنفيذ الأمر emulator للإطلاع على رسالة الخطأ الظاهرة, أما في حال كان المعالج الخاص بك هو من النوع AMD فبالإمكان الرجوع للقسم المخصص له في الأسفل.

اللحظة الحاسمة


flutter doctor -v

يجب أن يعطيك هذا الأمر علامات صح خضراء لجميع الأقسام, تجاهل القسم الخاص بالأندرويد ستوديو لأن هذا الدرس مخصص لتجاهله من الأساس، وإن كنت لا تهتم بمحرر الأكواد VS Code فتجاهله هو أيضاً.

اختبار اكواد فلاتر

داخل مجلد أدوات تطوير فلاتر، يوجد أمثلة لبعض أكواد فلاتر تحت المجلد examples تستطيع تجريب أي واحد منهم، ولكن سنختار هنا مثال hello world كما هو دارج:


cd C:\Android\flutter\examples\hello_world flutter run

حلول


فحص دعم الأنظمة الوهمية (الإفتراضية)

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


cd C:\Android\emulator emulator -avd nexus -memory 768 -no-accel -gpu on

تفعيل الأنظمة الوهمية على معالج AMD

إن كان المعالج الخاص بك من نوع AMD فتيجب استخدام WHPX لتفعيلها.

أوامر إضافية جيدة


أمر الـ emulator

يجب تنفيذ هذا الأمر من داخل المجلد الخاص به C:\Android\emulator


cd C:\Android\emulator emulator -avd nexus

وهذا الأمر جيد للإطلاع على الأخطاء التي قد تظهر أثناء تشغيل المحاكي.

إنشاء محاكي بالاعتماد على مواصفات جهاز جوال حقيقي

بالإمكان إنشاء محاكي، بمواصفات أحد أجهزة الجوال المعروفة، وفي الأمر التالي سيتم إنشاء محاكي بمواصفات جهاز الجوال جوجل نكسس:


avdmanager -s create avd -n google-nexus -k “system-images;android-27;default;x86_64” -d 29 flutter emulators --launch google-nexus

وتستطيع تغيير نوع الجوال من خلال تغيير رقم الـ id، وبإمكانك الاطلاع على الأجهزة المتوفرة من خلال تنفيذ الأمر:


avdmanager list device

حذف محاكي موجود


avdmanager delete avd -n nexus

عرض جميع المحاكيات التي تم إنشاءها


avdmanager list avd

معلومات إضافية

للحصول على مزيد من المعلومات والمساعدة في الأمر emulator يمكنك تنفيذ الأمر التالي، للحصول على كافة الخيارات المتاحة:


avdmanager help

  1. في الوقت الذي أكتب فيه هذا الدرس كان الإصدار 29 هو الإصدار الأخير من أدوات تطوير أندرويد، ولكني فضلت تثبيت إصدار أقدم للحصول على ميزة تطوير تطبيقات أندرويد لنسخ سابقة من النظام، ويمكنك تننفيذ الأمر sdkmanager --list للإطلاع على كافة الإصدارات وتحميل الإصدار الذي تريده. ↩︎