البدء

توضح هذه الصفحة كيفية تشغيل بناء AOSP باستخدام Cuttlefish .

تحقق من توفر KVM

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

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

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

يجب أن يقوم هذا الأمر بإرجاع قيمة غير صفرية.

عند التشغيل على جهاز ARM، الطريقة الأكثر مباشرة هي التحقق من /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
    for dir in base frontend; do
      pushd $dir
      # Install build dependencies
      sudo mk-build-deps -i
      dpkg-buildpackage -uc -us
      popd
    done
    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
    

    تؤدي إعادة التشغيل إلى تثبيت وحدات kernel إضافية وتطبيق قواعد udev .

  2. يعد Cuttlefish جزءًا من نظام Android مفتوح المصدر (AOSP). يمكن العثور على إصدارات الجهاز الظاهري في موقع Android Continious Integration. للعثور على فهرس بجميع إصدارات Android، انتقل إلى موقع Android Continious Integration على http://ci.android.com/ .

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

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

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

  6. في لوحة Artifacts، قم بتنزيل العناصر الخاصة بـ Cuttlefish.

    1. انقر فوق القطعة الأثرية aosp_cf_x86_64_phone-img-xxxxxx.zip ، التي تحتوي على صور الجهاز. في اسم الملف، "xxxxxx" هو معرف البنية لهذا الجهاز.

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

  7. على نظامك المحلي، قم بإنشاء مجلد حاوية واستخرج الحزم:

    mkdir cf
    cd cf
    tar -xvf /path/to/cvd-host_package.tar.gz
    unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
    
  8. إطلاق الحبار:

    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 Streaming .

وقف الحبار

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

HOME=$PWD ./bin/stop_cvd