شروع کنید

این صفحه نحوه راه اندازی یک ساخت AOSP را با استفاده از Cuttlefish شرح می دهد.

در دسترس بودن KVM را بررسی کنید

Cuttlefish یک دستگاه مجازی است و وابسته به مجازی سازی موجود در دستگاه میزبان است.

در ترمینال دستگاه میزبان خود، مطمئن شوید که مجازی سازی با ماشین مجازی مبتنی بر هسته (KVM) در دسترس است:

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

این دستور باید مقداری غیر صفر برگرداند.

هنگام اجرا بر روی یک دستگاه ARM64، مستقیم ترین راه این است که /dev/kvm را بررسی کنید:

find /dev -name kvm

کوتلفیش را راه اندازی کنید

  1. در پنجره ترمینال، بسته های میزبان 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 را اعمال می کند.

  2. Cuttlefish بخشی از پلتفرم منبع باز اندروید (AOSP) است. ساخت‌های دستگاه مجازی در سایت Android Continuous Integration یافت می‌شوند. برای یافتن فهرستی از تمام ساخت‌های اندروید، به سایت ادغام پیوسته Android در 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 برای 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
    

بررسی کنید که Cuttlefish از طریق adb قابل مشاهده است

شبیه به یک دستگاه فیزیکی، Cuttlefish از طریق Android Debug Bridge (adb) قابل مشاهده است.

در همان پوشه ای که Cuttlefish را راه اندازی کردید، دستور زیر را اجرا کنید تا لیستی از تمام دستگاه های اندرویدی موجود از طریق adb در دستگاه میزبان خود را مشاهده کنید:

./bin/adb devices

مشاهده و تعامل با دستگاه مجازی در وب

به‌طور پیش‌فرض، Cuttlefish با --start_webrtc راه‌اندازی می‌شود، که نمای وب را از طریق پورت 8443 در دستگاه میزبان فعال می‌کند.

برای مشاهده و تعامل با دستگاه های مجازی خود، به https://localhost:8443 در مرورگر وب خود بروید.

برای اطلاعات بیشتر، به Cuttlefish: WebRTC Streaming مراجعه کنید.

دست ماهی را متوقف کنید

دستگاه مجازی را در همان فهرستی که برای راه‌اندازی دستگاه استفاده کردید، متوقف کنید:

HOME=$PWD ./bin/stop_cvd