لماذا؟
قد تتسائل أولاً، مالداعي لكل هذا العناء والخوض في التفاصيل الدقيقة لطريقة التثبيت هذه، مع العلم أن الأندرويد ستوديو يقوم بكل ذلك عنك؟ أضف إلى الأندرويد ستوديو هو بيئة التطوير الرئيسية للفلاتر وبالاستغناء عنه أنت تستغني عن كل المميزات التي يقدمها لك؟
وبالنسبة لي يعود السبب لأمرين، أولهم هو أن الأندرويد ستوديو ثقيل على الجهاز للدرجة التي تمنعك من القيام بعملك بسلاسة، ,والأمر الثاني هو استهلاكه للموارد بشكل شره وتبدأ علامات الكسل الخمول بالظهور على النظام لحين إغلاقه، فما إن أبدأ بتشغيله حتى يبدأ جهازي في الغليان من ارتفاع الحرارة ويحصل هبوط اضطراري في مستوى البطارية، ويكاد صوت المروحة يفجر طبلة اذني ويفسد علي الهدوء والسكينة التي أود أن أنعم بها أثناء التطوير، وكأن الجهاز يصرخ ويتوسل بأن أغلقه، لذا نزولاً عند راحتي الشخصية ورفقاً بجهازي العزيز، أخذت على عاتقي إيجاد طريقة للتطوير على الفلاتر مستغنياً عن الأندرويد ستوديو ودون حتى أن أقوم بثبيته على جهازي، وكان هذا الدرس هو نتاج البحث المستمر.
تهيئة
قبل أن أبدا لابد أن نتأكد بأنني أنا وأنت نعمل وفق نفس المبدأ وتحت نفس المتغيرات، وحتى لا أكون أنا في واد وأنت في واد آخر، فلنتفق على الأمور التالية:
-
جميع الأوامر في هذا الدرس يتم تنفيذها باستخدام سطر أوامر ويندوز، والذي تستطيع تشغيله بإحدى الطريقتين:
- إضغط على
command prompt
وأضغط علىEnter
. - إضغط على
+ R
أكتبcmd
أضغط علىEnter
.
- إضغط على
-
لإبقاء كل شيء في مكان واحد سيتم اعتماد المجلد
C:\Android
كمجلد العمل الرئيسي والذي سيكون كل عملنا تحت هذا المجلد، ويتم إنشاءه بالطريقة التالية:
cd C:\
mkdir Android
cd Android
- من المهم جداً اتباع الخطوات حسب التسلسل الموضح في الدرس، وإلا قد لا تعمل بعض الأوامر بالشكل الصحيح.
- تم تنفيذ هذا الدرس على الويندوز الإصدار 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
-
في الوقت الذي أكتب فيه هذا الدرس كان الإصدار 29 هو الإصدار الأخير من أدوات تطوير أندرويد، ولكني فضلت تثبيت إصدار أقدم للحصول على ميزة تطوير تطبيقات أندرويد لنسخ سابقة من النظام، ويمكنك تننفيذ الأمر
sdkmanager --list
للإطلاع على كافة الإصدارات وتحميل الإصدار الذي تريده. ↩︎
Read it in English
Install Flutter Without Android Studio