البدء

توضّح هذه الصفحة طريقة إطلاق إصدار AOSP باستخدام Cuttlefish.

التحقق من مدى توفّر KVM

حبَّار هو جهاز افتراضي يعتمد على المحاكاة الافتراضية المتوفرة على الجهاز المضيف.

في الوحدة الطرفية على الجهاز المضيف، تأكد من توفر المحاكاة الافتراضية باستخدام جهاز افتراضي يعتمد على النواة (KVM):

grep -c -w "vmx\|svm" /proc/cpuinfo

من المفترض أن يعرض هذا الأمر قيمة غير صفرية.

وعند تشغيله على جهاز ARM64، تكون الطريقة المباشرة للتحقق من /dev/kvm:

find /dev -name kvm

إطلاق حبَّار

  1. في نافذة المحطة الطرفية، عليك تنزيل حزم دبيان المضيفة وإنشاؤها وتثبيتها.

    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.

  2. حبَّار هو جزء من نظام Android الأساسي المفتوح المصدر (AOSP). يمكن العثور على إصدارات الجهاز الافتراضي في موقع Android Continuous Integration. وللعثور على فهرس بجميع إصدارات Android، انتقِل إلى موقع "التكامل المستمر مع Android" على http://ci.android.com/.

  3. أدخِل اسم الفرع. استخدِم فرع aosp-main التلقائي أو استخدِم فرعًا لصورة نظام عامة (GSI) مثل aosp-android13-gsi.

  4. انتقِل إلى الإصدار المستهدف من aosp_cf_x86_64_phone وانقر على userdebug للحصول على أحدث إصدار.

  5. انقر على المربع الأخضر أسفل userdebug لاختيار هذا الإصدار. تظهر لوحة التفاصيل تتضمّن مزيدًا من المعلومات الخاصة بهذا الإصدار. في هذه اللوحة، انقر على العناصر للاطّلاع على قائمة بجميع الأدوات المرتبطة بهذا الإصدار.

  6. في لوحة "العناصر" ( Artifacts)، نزِّل العناصر الخاصة بالحبَّار.

    1. انقر على العنصر aosp_cf_x86_64_phone-img-xxxxxx.zip لـ x86_64 أو عنصر aosp_cf_arm64_only_phone-xxxxxx.zip الخاص بـ ARM64، الذي يحتوي على صور الجهاز. في اسم الملف، "xxxxxx" هو معرّف الإصدار لهذا الجهاز.

    2. انتقِل للأسفل في اللوحة ونزِّل cvd-host_package.tar.gz. قم دائمًا بتنزيل حزمة المضيف من نفس الإصدار الخاص بالصور.

  7. على نظامك المحلي، أنشئ مجلد حاوية واستخرِج الحِزم:

    1. بنية 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
      

    2. بنية 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
      

  8. إطلاق الحبار:

    HOME=$PWD ./bin/launch_cvd --daemon
    

التحقق من ظهور الحبار من خلال adb

على غرار الجهاز الفعلي، يظهر تطبيق Cuttlefish من خلال Android Debug Bridge (adb).

في المجلد نفسه الذي أطلقت فيه تطبيق Cuttlefish، نفِّذ الأمر التالي للاطّلاع على قائمة بجميع أجهزة Android المتاحة من خلال adb على الجهاز المضيف:

./bin/adb devices

عرض الجهاز الافتراضي في الويب والتفاعل معه

وفقًا للإعدادات التلقائية، يتم تشغيل تطبيق Cuttlefish مع --start_webrtc، والذي يفعِّل WebView عبر المنفذ 8443 على الجهاز المضيف.

لعرض أجهزتك الافتراضية والتفاعل معها، انتقِل إلى https://localhost:8443 في متصفح الويب.

لمزيد من المعلومات، يُرجى الاطّلاع على حبت: بث WebRTC.

إيقاف حبَّار

أوقف الجهاز الافتراضي داخل الدليل نفسه الذي استخدمته لتشغيل الجهاز:

HOME=$PWD ./bin/stop_cvd