หน้านี้อธิบายวิธีเปิดใช้บิลด์ 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 curlgit clone https://github.com/google/android-cuttlefishcd android-cuttlefishtools/buildutils/build_packages.shsudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -fsudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -fsudo usermod -aG kvm,cvdnetwork,render $USERsudo rebootการรีบูตจะทริกเกอร์การติดตั้งโมดูลเคอร์เนลเพิ่มเติมและใช้กฎ
udevCuttlefish เป็นส่วนหนึ่งของแพลตฟอร์มโอเพนซอร์ส 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 เพื่อเลือกบิลด์นี้ แผงรายละเอียด จะปรากฏขึ้นพร้อมข้อมูลเพิ่มเติมที่เฉพาะเจาะจงกับบิลด์นี้ ในแผงนี้ ให้คลิก Artifacts เพื่อดูรายการ Artifacts ทั้งหมดที่แนบมากับบิลด์นี้
ในแผง Artifacts ให้ดาวน์โหลด Artifacts สำหรับ Cuttlefish โดยทำดังนี้
คลิก Artifact
aosp_cf_x86_64_phone-img-xxxxxx.zipสำหรับ x86_64 หรือ Artifactaosp_cf_arm64_only_phone-xxxxxx.zipสำหรับ ARM64 ซึ่งมีอิมเมจอุปกรณ์ ในชื่อไฟล์ "xxxxxx" คือรหัสบิลด์สำหรับอุปกรณ์นี้เลื่อนลงในแผงแล้วดาวน์โหลด
cvd-host_package.tar.gzดาวน์โหลดแพ็กเกจโฮสต์จากบิลด์เดียวกับอิมเมจเสมอ
สร้างโฟลเดอร์คอนเทนเนอร์และแยกแพ็กเกจในระบบภายในโดยทำดังนี้
สถาปัตยกรรม x86_64
mkdir cfcd cftar -xvf /path/to/cvd-host_package.tar.gzunzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zipสถาปัตยกรรม ARM64
mkdir cfcd cftar -xvf /path/to/cvd-host_package.tar.gzunzip /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 Streaming
หยุด Cuttlefish
หยุดอุปกรณ์เสมือนจริงภายในไดเรกทอรีเดียวกับที่คุณใช้เปิดใช้อุปกรณ์โดยทำดังนี้
HOME=$PWD ./bin/stop_cvd