בדף הזה מוסבר איך להפעיל גרסת AOSP באמצעות Cuttlefish.
בדיקת הזמינות של KVM
Cuttlefish הוא מכשיר וירטואלי והוא תלוי בוירטואליזציה שזמינה במכונת המארח.
בטרמינל במכונת המארח, מוודאים שהווירטואליזציה עם מכונה וירטואלית מבוססת-ליבה (KVM) זמינה:
grep -c -w "vmx\|svm" /proc/cpuinfo
הפקודה הזו צריכה להחזיר ערך שונה מאפס.
כשמריצים במכונת 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). גרסאות build של המכשיר הווירטואלי נמצאות באתר Android Continuous Integration. כדי למצוא אינדקס של כל הגרסאות של Android, עוברים לאתר Android Continuous Integration בכתובת http://ci.android.com/.
מזינים שם של ענף. משתמשים בענף ברירת המחדל
aosp-android-latest-release
או בענף של תמונת מערכת גנרית (GSI), כמוaosp-android13-gsi
.עוברים אל יעד ה-Build aosp_cf_x86_64_only_phone ולוחצים על userdebug ל-Build האחרון.
לוחצים על התיבה הירוקה שמתחת ל-userdebug כדי לבחור את הגרסה הזו. תופיע חלונית פרטים עם מידע נוסף שספציפי לגרסה הזו. בחלונית הזו, לוחצים על Artifacts (ארטיפקטים) כדי לראות רשימה של כל הארטיפקטים שמצורפים לבנייה הזו.
בחלונית Artifacts, מורידים את הארטיפקטים של Cuttlefish.
לוחצים על ארטיפקט
aosp_cf_x86_64_phone-img-xxxxxx.zip
ל-x86_64 או על ארטיפקטaosp_cf_arm64_only_phone-xxxxxx.zip
ל-ARM64, שמכיל את תמונות המכשיר. בשם הקובץ, 'xxxxxx' הוא מזהה ה-build של המכשיר.גוללים למטה בחלונית ומורידים את
cvd-host_package.tar.gz
. תמיד צריך להוריד את חבילת המארח מאותו build של התמונות.
במערכת המקומית, יוצרים תיקיית מאגר ומחלצים את החבילות:
ארכיטקטורת 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 (adb).
באותה תיקייה שבה הפעלתם את Cuttlefish, מריצים את הפקודה הבאה כדי לראות רשימה של כל מכשירי Android שזמינים דרך adb במחשב המארח:
./bin/adb devices
צפייה במכשיר הווירטואלי ואינטראקציה איתו באינטרנט
כברירת מחדל, Cuttlefish מופעל עם --start_webrtc
, שמאפשר תצוגת אינטרנט דרך יציאה 8443 במכונת המארח.
כדי לראות את המכשירים הווירטואליים ולהשתמש בהם, עוברים אל https://localhost:8443 בדפדפן האינטרנט.
מידע נוסף זמין במאמר בנושא Cuttlefish: WebRTC Streaming.
הפסקת השימוש ב-Cuttlefish
מפסיקים את המכשיר הווירטואלי באותה ספרייה שבה השתמשתם כדי להפעיל את המכשיר:
HOME=$PWD ./bin/stop_cvd