Kendi özel Android sistem görüntülerinizi çalıştıran Android cihazların emülasyonlarını oluşturmak için Android Emulator'ı kullanabilirsiniz. Ayrıca, Android Emulator emülasyonlarına çoklu ekran desteği ekleyebilirsiniz.
Android Emulator mimarisi
Android Emulator, Android işletim sistemini Android Sanal Cihaz (AVD) adı verilen bir sanal makinede çalıştırır. Her AVD, Android yazılım yığınını içerir ve fiziksel bir cihazdaymış gibi çalışır. Şekil 1'de Android Emulator'ın üst düzey mimarisi gösterilmektedir. Emülatör hakkında daha fazla bilgi için Android Emülatör'de uygulamaları çalıştırma başlıklı makaleyi inceleyin.
1. şekil. Android Emulator mimarisi.
AVD görüntüleri oluşturma
Her AVD, söz konusu AVD'de çalışan bir Android sistem görüntüsü içerir. AVD Manager'da bazı sistem görüntüleri bulunur. Ayrıca, kaynak kodunuzdan özel AVD sistem görüntüleri oluşturabilir ve bunları çalıştırmak için cihaz emülasyonları oluşturabilirsiniz.
AVD sistem görüntüsü oluşturmak ve çalıştırmak için:
Android kaynağını indirin:
mkdir aosp-android-latest-release; cd aosp-android-latest-release
repo init -u
repo sync -j24
Diğer Android sürümlerini oluşturmak istiyorsanız bunların dal adlarını Herkese açık Android deposunda bulabilirsiniz. Android Kod Adları, Etiketler ve Derleme Numaraları ile eşlenir.
AVD sistem görüntüsü oluşturun. Bu işlem, Android cihaz sistem görüntüsü oluşturma ile aynıdır. Örneğin, x86 64 bit AVD oluşturmak için:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
AVD sistem görüntüsünü Android Emulator'da çalıştırın:
emulator
Emülatörü çalıştırma hakkında daha fazla bilgi için Komut satırı başlangıç seçenekleri başlıklı makaleyi inceleyin. Şekil 2'de, AVD çalıştıran Android Emulator örneği gösterilmektedir:
Şekil 2. AVD çalıştıran Android Emulator.
AVD sistem görüntülerini başkalarıyla paylaşarak Android Studio'da kullanmalarını sağlama
AVD sistem görüntülerinizi başkalarıyla paylaşmak için bu talimatları uygulayın. Bu kişiler, uygulama geliştirip test etmek için Android Studio ile AVD sistem görüntülerinizi kullanabilir.
Ek
sdk
vesdk_repo
paketleri oluşturun:Android 13 ve sonraki sürümlerde
emu_img_zip
komutunu kullanın:$ make emu_img_zip
Bu işlem,
sdk-repo-linux-system-images-eng.[username]].zip
dosyası oluşturur.Android 12 ve önceki sürümlerde
sdk_repo
komutunu kullanın:$ make -j32 sdk sdk_repo
make sdk sdk_repo
komutu,aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86
altında iki dosya oluşturur:sdk-repo-linux-system-images-eng.[username].zip
repo-sys-img.xml
Dosyayı
sdk-repo-linux-system-images-eng.[username].zip
kullanıcılarınızın erişebileceği bir yerde barındırın ve AVD Sistem Görüntüsü URL'si olarak kullanmak üzere dosyanın URL'sini alın.Android 12 ve önceki sürümlerde
repo-sys-img.xml
kısmını uygun şekilde düzenleyin:<sdk:url>
öğesini AVD sistem görüntüsü URL'niz ile güncelleyin.- Dosyada yapılan diğer güncellemeler hakkında bilgi edinmek için sdk-sys-img-03.xsd dosyasına bakın.
repo-sys-img.xml
dosyasını kullanıcılarınızın erişebileceği bir yerde barındırın ve Özel Güncelleme Sitesi URL'si olarak kullanmak üzere URL'sini alın.
Özel bir AVD görüntüsü kullanmak için SDK Yöneticisi'nde aşağıdakileri yapın:
Özel Güncelleme Sitesi URL'sini SDK Güncelleme Sitesi olarak ekleyin.
Bu işlem, özel AVD sistem görüntünüzü Sistem Görüntüleri sayfasına ekler.
Özel AVD sistem görüntüsünü indirip seçerek AVD oluşturun.
Çoklu ekran desteği ekleme
Android 10, çoklu ekran deneyimini geliştirerek otomatik ve masaüstü modu gibi daha fazla kullanım alanını destekler. Android Emulator, çoklu ekran emülasyonunu da destekler. Böylece, gerçek donanımı kurmadan belirli bir çoklu ekran ortamı oluşturabilirsiniz.
Aşağıdaki değişiklikleri yaparak veya bu CL'lerden seçerek AVD'ye çoklu ekran desteği ekleyebilirsiniz.
Şu satırları dosyaya ekleyerek çoklu ekran sağlayıcıyı derlemeye ekleyin
build/target/product/sdk_phone_x86.mk
:PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \ system/lib/libemulator_multidisplay_jni.so \ system/lib64/libemulator_multidisplay_jni.so \ system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \ PRODUCT_PACKAGES += MultiDisplayProvider
Aşağıdaki satırı dosyaya ekleyerek çoklu ekran özellik işaretini etkinleştirin
device/generic/goldfish/data/etc/advancedFeatures.ini
:MultiDisplay = on
En yeni emülatör özelliklerini ve sürüm bilgilerini aşağıdaki kaynaklardan edinebilirsiniz: