בדף הזה מוסבר איך להפעיל גרסת 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