توضّح هذه الصفحة كيفية تشغيل إصدار AOSP باستخدام Cuttlefish.
التحقّق من توفّر KVM
Cuttlefish هو جهاز افتراضي يعتمد على توفّر المحاكاة الافتراضية على الجهاز المضيف.
في نافذة Terminal على جهازك المضيف، تأكَّد من توفّر ميزة المحاكاة الافتراضية باستخدام جهاز افتراضي يعتمد على النواة (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 Continuous Integration على 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
، ما يتيح عرض صفحة ويب
من خلال المنفذ 8443 على الجهاز المضيف.
للاطّلاع على أجهزتك الافتراضية والتفاعل معها، انتقِل إلى https://localhost:8443 في متصفّح الويب.
لمزيد من المعلومات، يُرجى الاطّلاع على Cuttlefish: بث WebRTC.
إيقاف Cuttlefish
أوقِف الجهاز الافتراضي ضمن الدليل نفسه الذي استخدمته لتشغيل الجهاز:
HOME=$PWD ./bin/stop_cvd