توضّح هذه الصفحة طريقة إطلاق إصدار AOSP باستخدام Cuttlefish.
التحقّق من توفّر وحدة تحكّم افتراضي في الأجهزة (KVM)
Cuttlefish هو جهاز افتراضي ويعتمد على توفّر تكنولوجيا المحاكاة الافتراضية على الجهاز المضيف.
في وحدة طرفية على جهازك المضيف، تأكَّد من توفّر تقنية المحاكاة الافتراضية باستخدام جهاز افتراضي يعتمد على النواة (KVM):
grep -c -w "vmx\|svm" /proc/cpuinfo
من المفترض أن يعرض هذا الأمر قيمة غير صفرية.
عند التشغيل على جهاز ARM64، تكون الطريقة الأكثر مباشرةً هي التحقّق مما يلي:
/dev/kvm
:
find /dev -name kvm
إطلاق حبَّار
في نافذة المحطة الطرفية، عليك تنزيل حزم نظام التشغيل Debian المضيفة وإنشاؤها وتثبيتها.
sudo apt install -y git devscripts equivs config-package-dev debhelper-compat golang curl
git clone https://github.com/google/android-cuttlefish
cd android-cuttlefish
tools/buildutils/build_packages.sh
sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
sudo usermod -aG kvm,cvdnetwork,render $USER
sudo reboot
يؤدي إعادة التشغيل إلى بدء تثبيت وحدات إضافية للنواة وتطبيق
udev
القواعد.تشكّل Cuttlefish جزءًا من منصة Android Open-Source Platform (AOSP). يمكن العثور على إصدارات الجهاز الافتراضي على موقع الويب "دمج Android المستمر". للعثور على فهرس لجميع إصدارات Android، انتقِل إلى موقع الويب المخصص للدمج المستمر لنظام Android على الرابط التالي: http://ci.android.com/.
أدخِل اسم فرع. استخدِم الفرع التلقائي
aosp-main
أو استخدِم فرع صورة نظام عامة (GSI) مثلaosp-android13-gsi
.انتقِل إلى الإصدار المستهدف من aosp_cf_x86_64_phone وانقر على userdebug للحصول على أحدث إصدار.
انقر على المربّع الأخضر أسفل userdebug لاختيار هذا الإصدار. تظهر لوحة التفاصيل التي تتضمّن المزيد من المعلومات المتعلّقة بهذا الإصدار. في هذه اللوحة، انقر على العناصر للاطّلاع على قائمة بكل العناصر المُرفَقة بهذا الإصدار.
في لوحة "العناصر" ( Artifacts)، نزِّل العناصر الخاصة بالحبَّار.
انقر على رمز العنصر
aosp_cf_x86_64_phone-img-xxxxxx.zip
لنظام التشغيل x86_64 أو رمز العنصرaosp_cf_arm64_only_phone-xxxxxx.zip
لنظام التشغيل ARM64، والذي يحتوي على صور الجهاز. في اسم الملف، "xxxxxx" هو معرّف الإصدار لهذا الجهاز.انتقِل للأسفل في اللوحة ونزِّل
cvd-host_package.tar.gz
. يجب دائمًا تنزيل حزمة المضيف من الإصدار نفسه المستخدَم في صورك.
على نظامك المحلي، أنشِئ مجلدًا للحاويات واستخدمه لاستخراج الحِزم:
بنية x86_64:
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
بنية ARM64:
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_arm64_only_phone-img-xxxxxx.zip
إطلاق حبَّار:
HOME=$PWD ./bin/launch_cvd --daemon
التأكّد من ظهور Cuttlefish من خلال adb
على غرار الجهاز الفعلي، يظهر تطبيق Cuttlefish من خلال Android Debug Bridge (adb).
في المجلد نفسه الذي أطلقت فيه تطبيق Cuttlefish، نفِّذ الأمر التالي للاطّلاع على قائمة بجميع أجهزة Android المتاحة من خلال adb على الجهاز المضيف:
./bin/adb devices
عرض الجهاز الظاهري والتفاعل معه على الويب
يتم تشغيل Cuttlefish تلقائيًا باستخدام --start_webrtc
، ما يتيح عرض WebView
من خلال المنفذ 8443 على الجهاز المضيف.
لعرض أجهزتك الافتراضية والتفاعل معها، انتقِل إلى https://localhost:8443 في متصفح الويب.
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة Cuttlefish: بث WebRTC.
إيقاف Cuttlefish
أوقِف الجهاز الافتراضي في الدليل نفسه الذي استخدمته لبدء تشغيل الجهاز:
HOME=$PWD ./bin/stop_cvd