Android sanal cihazları (AVD'ler) kullanmak için Android Emulator, grafik kullanıcı arayüzü (GUI) ve komut satırı arayüzü (KSA) desteği sunar. Ortamınız için en uygun iş akışını seçersiniz.
- Sanal cihazlar oluşturma ve yönetme GUI, çoğu uygulama geliştirici ve kullanıcı 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 araçlar bölümündeki örneklere bakın.
Önceden derlenmiş sürümleri kullanarak AOSP Car AVD'yi başlatma
Önceden derlenmiş AOSP Car AVD'yi hızlı bir şekilde başlatmak ve test etmek için ci.android.com
adresinden bir emülatör derlemesini indirip başlatmak üzere açık kaynak bir komut dosyası kullanın. Komut dosyası macOS ve Linux'ta test edilmiştir.
Bu komut dosyasını kullanmak için Curl'e ihtiyacınız vardır.
Komut dosyasını çalıştırmak için:
- Yerel dosya adı olarak
launch_emu.sh
kullandığınız varsayılaraklaunch_emu.sh
komut dosyası içeriğini yerel dosyanıza kopyalayın. - Yerel komut dosyanızı yürütülebilir hale getirin. Örneğin,
chmod +x ./launch_emu.sh
dosyasını çalıştırın. - Komut dosyasını
./launch_emu.sh -h
ile çalıştırarak mevcut seçenekleri kontrol edin. ci.android.com
'daaosp-main-throttled
şubesine gidin vesdk_car_x86_64
'in yeşil olduğu son bir derlemeyi seçin. Örneğin, 11370359. Derleme bilgilerini görmüyorsanız Google Hesabınızın oturumunu kapatıp tekrar deneyin.- Derleme kimliğiyle birlikte emülatörle ilgili ikili dosyaları indirip yükleyin. Örneğin,
./launch_emu.sh -i -a 11370359
. - Ardından, indirilen ve yüklenen emülatörü başlatmak için
./launch_emu.sh
simgesini kullanabilirsiniz (-i
veya-a
seçeneklerini kullanmayın). - Başka bir derleme kimliğini indirip yüklemek için çalışma alanınızı temizlemek üzere
./launch_emu.sh -c
'yi çalıştırın ve ardından yukarıdaki 4. ve 5. adımları tekrarlayın.
Emülatörü başlatırken Android emülatör komut satırı başlangıç seçeneklerini belirtmek için -v
seçeneğini kullanın. Örnek:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
AOSP Car AVD oluşturma
AOSP Car AVD oluşturma işlemi, telefon için AVD resimleri oluşturmaya (örneğin, aosp_car_x86_64) benzerdir:
- Geliştirme ortamını ayarlamak ve bir dal tanımlamak için Kaynak Kontrol Araçları başlıklı makaleyi inceleyin. Ardından Kaynağı İndirme bölümünü inceleyin:
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 (gerekirse ek Komut satırı başlatma seçenekleri ekleyin):
emulator &
Örnek:
Şekil 1. Android Virtual Emulator ekranı
Bu işlemle ilgili notlar:
- Derleme işlemi, fiziksel bir cihaz için Android derleme işlemiyle aynı olduğundan, kaynağı indirip derlemesi için biraz bekleyin.
- Diğer dallarda çalışmak için
$ANDROID_BRANCH
'ü başka bir dal/etiket olarak ayarlayın. system.img
gibi AVD resimleri$ANDROID_PRODUCT_OUT
'te oluşturulur. Anahtar resimler hakkında daha fazla bilgi edinmek için AVD sistem dizinine bakın.- Android ağacınızdaki önceden derlenmiş emülatör ikili dosyalarının 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 araç AVD ekleme işlemi, Yeni Cihaz Ekleme ile neredeyse aynıdır. Ö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_car
kullanılmaktadır. - AVD'nin nasıl derleneceğini tanımlayan ürün makefile'ini (
avd_car.mk
) oluşturun. BoardConfig.mk
vesource.properties
dosyalarını barındıracak bir cihaz klasörü (avd_car_device
) oluşturun.- Yeni
makefile
ve yenilunch
seçeneğiniAndroidProducts.mk
'ye ekleyin. - Yeni
avd_car
AVD'yi oluşturmak ve çalıştırmak için:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
AVD resim ZIP dosyasını paketleme
AVD'nizi paketleyip başkalarıyla paylaşabilir veya başka bir bilgisayarda kullanabilirsiniz. AVD resim zip dosyasını oluşturmak için emu_img_zip.mk
'ı kullanın:
- AVD'yi oluşturduktan sonra
emu_img_zip
'yi hedef yapın:m emu_img_zip
- Önünde
sdk-repo-linux-system-images
bulunan AVD resim zip dosyası,$ANDROID_PRODUCT_OUT
adlı klasörde oluşturulur.
AVD çekirdeği oluşturma
AVD çekirdekleri, tümü önceden oluşturulmuş görüntüler olması bakımından diğer Android çekirdeklerine benzer. Normalde, her Android sürümündeki standart goldfish çekirdeği önceden oluşturulmuş resimlerini olduğu gibi kullanabilirsiniz.
Çekirdek değişikliklerini denemek 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/
- Kod tabanındaki çekirdek ikilisini AVD makefile'ine göre değiştirin. Örneğin,
x86_64-vendor.mk
x86_64-kernel.mk
içerir.
Çekirdek kodu ve yapılandırması şu şekilde bulunur:
Öğe | Değer |
---|---|
Şube | common-android11-5.4 (Android 11'de kullanılır) |
Manifest | kernel/manifest/common-android11-5.4 |
common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
Patlayan mısır | kernel/common/android11-5.4 |
Yeni cihaz profili oluşturma
Kullanıcıların Android Studio AVD Yöneticisi'nde belirli bir AVD oluşturmasını sağlamak için Sanal cihaz oluşturma ve yönetme başlıklı makaleyi inceleyin.
Cihaz üreticileri, AVD resmine dahil edilen bir devices.xml
dosyası kullanarak ekran boyutu ve DPI gibi kendi donanım özelliklerini tanımlayabilir.
- Örneğin,
automotive.xml
'teki Otomotiv cihaz profillerine bakın. - HMI geliştirme veya prototip oluşturma için aynı AVD resmine ait dosyaya birden fazla cihaz eklenebilir.
- Dosyayı
[ABI]
klasöründeki OEM AVD görüntü zip dosyasına ekleyin. Örneğin,x86_64
olarak. - Cihaz üreticileri emülatör kaplaması da oluşturabilir. Örneğin, daha yüksek kaliteli kullanıcı deneyimi için ek donanım düğmeleri tanımlamak. Bu, yalnızca geliştirici iş akışları için değil, kullanıcı deneyimi araştırması ve inceleme gibi diğer görevler için de yararlıdır.
AVD görüntü XML dosyasını oluşturma
Cihaz üreticileri, Android Studio'nun indirmesi için bir AVD Görüntüsü 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 hedef kullanıcıları için kendi OEM AVD lisans sözleşmelerini (dürüstlük sistemini kullanarak) tanımlayabilir. Android Studio, bu tür bir lisans dahil edildiğinde kullanıcılardan onay alır.
Resmi oluşturmak için:
- AVD görüntüsünü içeren bir ZIP dosyası hazırlayın.
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
dosyasını arşivden çıkarın.devices.xml
dosyasınıx86_64
klasörüne ekleyin ve dosyayı bir ZIP dosyası olarak sıkıştırın. Örneğin,oem_avd_img_x86_64.zip
olarak.oem-sys-img2-1.xml
adlı cihazı güncelleyin.- ZIP dosyasının adını, boyutunu ve shasum'unu güncelleyin (
tools
bölümünde örnek XML dosyaları sağlanmıştır).
Örneğin, AVD'yi Google Cloud Storage'da barındırmak için Depolama alanı 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üne bakın:
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 resim SDK'sı eklenti URL'si biçimi: 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
şeklindedir.
AVD imajını Android Studio kullanıcılarıyla paylaşma
Kullanıcılarınızın AVD resimlerini indirip Android Studio ile AVD'nizi kullanabilmesi için bir 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.
- URL'yi hedef kullanıcılarınıza sağlayın.
- (İsteğe bağlı) Erişimi kullanıcı adına ve şifreye göre 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 yapıları
ADDON_DIR
adlı bir klasöre (örneğin, tüm AVD resim ZIP dosyaları) kaydedin. - URL'yi
file://$ADDON_DIR/oem-sys-img2-1.xml
olarak belirtin.