Android sanal cihazlarını (AVD'ler) kullanmak için Android Emulator, grafik kullanıcı arayüzünü (GUI) ve komut satırı arayüzünü (CLI) destekler. Ortamınız için en uygun iş akışını seçersiniz.
- Sanal cihazlar oluşturma ve yönetme GUI, çoğu uygulama geliştiricisi ve kullanıcısı için sağlanan basit bir araçtır.
- Emülatörü komut satırından başlatma , ileri düzey kullanıcılar ve otomasyon için esnek bir yöntem sunar. Örneğin, birden fazla AVD kullanmak veya sürekli test ve sürekli entegrasyon ayarlamak için. Başlamak için tools klasöründeki örnekleri inceleyin.
AOSP Car AVD oluşturma
AOSP Car AVD oluşturma süreci, telefon için AVD görüntüleri oluşturmaya (örneğin, aosp_car_x86_64) benzer:
- Geliştirme ortamını ayarlamak ve bir dalı belirlemek için Kaynak kontrol araçları başlıklı makaleyi inceleyin, ardından Android kaynağını indirme başlıklı makaleyi okuyun:
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - AVD görüntüsünü oluşturun:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- AVD görüntüsünü çalıştırın (Gerektiğinde ek Komut satırı başlangıç seçenekleri ekleyin):
emulator &
Örneğin:

Şekil 1. Android sanal emülatör ekranı
Bu işlemle ilgili notlar:
- Derleme işlemi, Android'i fiziksel bir cihaz için derlemekle aynı olduğundan kaynağın indirilmesi ve derlenmesi biraz zaman alabilir.
- Diğer dallarda çalışmak için
$ANDROID_BRANCHöğesini başka bir dal/etiket olarak ayarlayın. system.imggibi AVD görüntüleri$ANDROID_PRODUCT_OUTadresinde oluşturulur. Anahtar resimler hakkında daha fazla bilgi edinmek için AVD sistem dizinine bakın.- Android ağacınızdaki önceden oluşturulmuş emülatör ikililerinin emülatörü çalıştırmak için nasıl kullanıldığını öğrenmek üzere README dosyasını inceleyin.
Araba AVD'si oluşturma
Yeni bir araba AVD'si eklemek, yeni bir cihaz eklemeye neredeyse tamamen benzerdir. Örneğin,
1660554
yeni bir avd_car AVD oluşturur.
Araba AVD'si oluşturmak için:
- Gerekirse bir şirket ve cihaz klasörü oluşturun. Bu örnekte
$ANDROID_BUILD_TOP/device/google_car/avd_carkullanılmaktadır. - AVD'nin nasıl oluşturulacağını tanımlayan
avd_car.mkadlı ürün makefile'ını oluşturun. BoardConfig.mkvesource.propertiesöğelerini içerecek bir cihaz klasörü (avd_car_device) oluşturun.AndroidProducts.mköğesine yenimakefileve yenilunchseçeneğini ekleyin.- Yeni
avd_carAVD'yi oluşturmak ve çalıştırmak için:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
AVD görüntüsü ZIP dosyası paketleme
AVD'nizi paketleyip başkalarıyla paylaşabilir veya başka bir bilgisayarda kullanabilirsiniz. AVD görüntü zip dosyasını oluşturmak için emu_img_zip.mk komutunu kullanın:
- AVD'yi oluşturduktan sonra
emu_img_ziphedefi yapın:m emu_img_zip
sdk-repo-linux-system-imagesönekli AVD görüntüsü ZIP dosyası,$ANDROID_PRODUCT_OUTadlı klasörde oluşturulur.
AVD çekirdeği oluşturma
AVD çekirdekleri, diğer Android çekirdeklerine benzer şekilde önceden oluşturulmuş görüntülerdir. Normalde, her Android sürümünde standart goldfish çekirdeği önceden oluşturulmuş görüntüleri olduğu gibi kullanabilirsiniz.
Çekirdek değişiklikleriyle deneme yapmak için:
- Aşağıdaki talimat dizisini çalıştırın:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- AVD makefile'ına göre kod tabanındaki çekirdek ikilisini değiştirin. Örneğin,
device/generic/goldfish/board/emu64x/details.mkdevice/generic/goldfish/board/kernel/x86_64.mkiçerir.
Çekirdek kodu ve yapılandırması şu konumda bulunur:
| Öğe | Değer |
|---|---|
| Dal | common-android11-5.4 (Android 11'de kullanılır) |
| Bildirim | kernel/manifest/common-android11-5.4 |
| common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
| Çekirdek | kernel/common/android11-5.4 |
Yeni cihaz profili oluşturma
Kullanıcıların Android Studio AVD Manager'da belirli bir AVD oluşturmasını sağlamak için Sanal cihaz oluşturma ve yönetme başlıklı makaleye bakın.
Cihaz üreticileri, AVD görüntüsüne dahil edilen bir devices.xml dosyası kullanarak ekran boyutu ve DPI gibi kendi donanım özelliklerini tanımlayabilir.
- Örneğin,
automotive.xmlbölümündeki Otomotiv Cihazı profillerine bakın. - HMI geliştirme veya prototip oluşturma için aynı AVD görüntüsüne yönelik dosyaya birden fazla cihaz eklenebilir.
- Dosyayı,
[ABI]klasöründeki OEM AVD görüntüsü zip dosyasına ekleyin. Örneğin,x86_64. - Cihaz üreticiler emülatör görünümü de oluşturabilir. Örneğin, daha yüksek doğrulukta bir kullanıcı deneyimi için ek donanım düğmeleri tanımlamak. Bu özellik yalnızca geliştirici iş akışları için değil, aynı zamanda kullanıcı deneyimi araştırması ve inceleme gibi diğer görevler için de yararlıdır.
AVD görüntüsü XML dosyasını oluşturma
Cihaz üreticileri, Android Studio'nun indirmesi için bir AVD Image XML dosyası oluşturabilir.
- Örneğin, AAOS AVD görüntü XML dosyasına (
sys-img2-1.xml) bakın. - Cihaz üreticileri, Android Emulator lisansıyla birlikte hedef kullanıcıları için kendi OEM AVD lisans sözleşmelerini (dürüstlük ilkesine göre) tanımlayabilir. Android Studio, bu tür bir lisans eklendiğinde kullanıcı izni alır.
Görüntüyü oluşturmak için:
- AVD görüntü ZIP dosyası hazırlayın.
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zipdosyasını açın.devices.xmlöğesinix86_64klasörüne ekleyin ve dosyayı ZIP dosyası olarak sıkıştırın. Örneğin,oem_avd_img_x86_64.zip.oem-sys-img2-1.xmladlı cihazı güncelleyin.- ZIP dosyasının adını, boyutunu ve shasum'unu güncelleyin (örnek XML dosyaları
toolsbölümünde verilmiştir).
Örneğin, AVD'yi Google Cloud Storage'da barındırmak için Depolama paketleri oluşturma başlıklı makaleyi inceleyin.
AVD'yi yüklemek ve herkese açık hale getirmek için Verileri herkese açık hale getirme bölümünü inceleyin:
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
AVD görüntüsü SDK eklentisi URL biçimi şöyledir: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml.
Örneğin, BUCKET_NAME aaos-avd ise URL: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml olur.
AVD görüntüsünü Android Studio kullanıcılarıyla paylaşma
Kullanıcılarınızın AVD görüntülerini indirip Android Studio ile AVD'nizi kullanabilmesi için SDK eklentisi XML dosyası sağlayabilirsiniz. Ayrıntılar için IDE ve SDK araçlarını güncelleme başlıklı makaleyi inceleyin.
AVD'yi ağdan indirmek için:
- Resim zip dosyasını ve XML dosyalarını bir sunucuda barındırın.
- Hedef kullanıcılarınızın URL'sini girin.
- (İsteğe bağlı) Kullanıcı adı ve şifreyle erişimi sınırlayın.
Alternatif olarak, geliştirmeyi hızlandırmak için AVD'yi yerel bir dizine indirin:
- XML dosyalarını ve XML dosyasında belirtilen tüm öğeleri
ADDON_DIRadlı bir klasöre kaydedin (örneğin, tüm AVD görüntü zip dosyaları). - URL'yi
file://$ADDON_DIR/oem-sys-img2-1.xmlolarak belirtin.