หน้านี้จะอธิบายวิธีเปิดใช้งานบิลด์ AOSP โดยใช้ Cuttlefish
ยืนยันความพร้อมให้บริการของ KVM
Cuttlefish เป็นอุปกรณ์เสมือนจริงและขึ้นอยู่กับการมีอยู่ของเวอร์ชวลไลเซชันในเครื่องโฮสต์
ในเทอร์มินัลบนเครื่องโฮสต์ ให้ตรวจสอบว่าระบบเวอร์ชวลไลเซชันที่ใช้ Kernel-based Virtual Machine (KVM) พร้อมใช้งาน โดยทำดังนี้
grep -c -w "vmx\|svm" /proc/cpuinfo
คำสั่งนี้ควรแสดงผลลัพธ์ที่ไม่ใช่ 0
เมื่อทำงานบนเครื่อง 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