Android Emulator'u kullanarak kendi özel Android sistem görüntülerinizi çalıştıran Android cihazların emülasyonlarını oluşturabilirsiniz. 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) adlı bir sanal makinede çalıştırır. Her AVD, Android yazılım yığınının tamamını içerir ve fiziksel bir cihazdaymış gibi çalışır. Şekil 1'de Android Emulator'un üst düzey mimarisi gösterilmektedir. Emülatör hakkında daha fazla bilgi için Android Emulator'da uygulama çalıştırma başlıklı makaleyi inceleyin.
Şekil 1. Android Emulator mimarisi.
AVD görüntüleri oluşturma
Her AVD, bu AVD'de çalışan bir Android sistem resmi içerir. AVD Yöneticisi bazı sistem resimlerini içerir. 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-main; cd aosp-main
repo init -u
repo sync -j24
Diğer Android sürümlerini derlemek istiyorsanız bu sürümlerin dal adlarını herkese açık Android deposunda bulabilirsiniz. Bunlar Android kod adları, etiketleri ve yapı numaralarıyla eşlenir.
AVD sistem görüntüsü oluşturun. Bu işlem, Android cihaz sistem imajını oluşturma işlemiyle 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şlatma 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.
Diğer kullanıcıların Android Studio ile kullanması için AVD sistem resimlerini paylaşma
AVD sistem resimlerinizi başkalarıyla paylaşmak için bu talimatları uygulayın. Uygulama geliştirmek ve test etmek için Android Studio ile AVD sistem resimlerinizi kullanabilirler.
Ek
sdk
vesdk_repo
paketleri oluşturun:Android 13 ve sonraki sürümler için
emu_img_zip
komutunu kullanın:$ make emu_img_zip
Bu işlem sonucunda bir
sdk-repo-linux-system-images-eng.[username]].zip
dosyası oluşturulur.Android 12 ve önceki sürümler için
sdk_repo
komutunu kullanın:$ make -j32 sdk sdk_repo
make sdk sdk_repo
komutu,aosp-main/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
sdk-repo-linux-system-images-eng.[username].zip
dosyasını kullanıcılarınızın erişebileceği bir yerde barındırın ve AVD sistem resmi URL'si olarak kullanmak için URL'sini alın.Android 12 ve önceki sürümlerde
repo-sys-img.xml
öğesini uygun şekilde düzenleyin:<sdk:url>
değerini AVD sistem resmi URL'nizle güncelleyin.- Dosyadaki diğer güncellemeler hakkında bilgi edinmek için sdk-sys-img-03.xsd dosyasını inceleyin.
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 için URL'sini alın.
Özel bir AVD resmi 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 resminizi Sistem Resimleri sayfasına ekler.
Özel AVD sistem görüntüsünü indirip seçerek bir AVD oluşturun.
Çoklu ekran desteği ekleme
Android 10, otomatik ve masaüstü modu gibi daha fazla kullanım alanını daha iyi desteklemek için çoklu ekran özelliğini iyileştirir. 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 bir AVD'ye çoklu ekran desteği ekleyebilirsiniz.
build/target/product/sdk_phone_x86.mk
dosyasına aşağıdaki satırları ekleyerek çoklu görüntüleme sağlayıcıyı derlemeye ekleyin: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
device/generic/goldfish/data/etc/advancedFeatures.ini
dosyasına şu satırı ekleyerek Çoklu Ekran özellik işaretini etkinleştirin:MultiDisplay = on
En son emülatör özelliklerini ve sürüm bilgilerini aşağıdaki kaynaklarda bulabilirsiniz: