توضّح هذه الصفحة كيفية إطلاق إصدار AOSP باستخدام Cuttlefish.
التحقّق من توفّر تقنية KVM
Cuttlefish هو جهاز افتراضي ويعتمد على توفّر تكنولوجيا المحاكاة الافتراضية على الجهاز المضيف.
في وحدة طرفية على جهازك المضيف، تأكَّد من توفّر تقنية المحاكاة الافتراضية باستخدام جهاز افتراضي يعتمد على النواة (KVM):
grep -c -w "vmx\|svm" /proc/cpuinfo
من المفترض أن يعرض هذا الأمر قيمة غير صفرية.
عند التشغيل على جهاز ARM64، تكون الطريقة الأكثر مباشرة هي التحقّق مما يلي:
/dev/kvm
:
find /dev -name kvm
إطلاق Cuttlefish
في نافذة وحدة طرفية، نزِّل حزم 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 المفتوحة المصدر" (AOSP). يمكن العثور على إصدارات الجهاز الافتراضي على موقع الويب الخاص بالتكامل المستمر لنظام التشغيل Android. للعثور على فهرس لجميع إصدارات Android، انتقِل إلى موقع الويب المخصص للدمج المستمر لنظام Android على الرابط التالي: http://ci.android.com/.
أدخِل اسم الفرع. استخدِم الفرع التلقائي
aosp-android-latest-release
أو استخدِم فرع صورة نظام عامة (GSI) مثلaosp-android13-gsi
.انتقِل إلى هدف الإصدار aosp_cf_x86_64_only_phone وانقر على userdebug للحصول على أحدث إصدار.
انقر على المربّع الأخضر أسفل userdebug لاختيار هذا الإصدار. تظهر لوحة التفاصيل التي تتضمّن المزيد من المعلومات المتعلّقة بهذا الإصدار. في هذه اللوحة، انقر على العناصر للاطّلاع على قائمة بكل العناصر المُرفَقة بهذا الإصدار.
في لوحة "العناصر"، نزِّل العناصر الخاصة بتطبيق Cuttlefish.
انقر على رمز العنصر
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
إطلاق Cuttlefish:
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