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) adlı bir sanal makinede çalıştırmanıza olanak tanı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 Uygulamaları Android Emülatör'de çalıştırma bölümüne bakın.
Şekil 1. Android Emulator mimarisi.
Ortalama görüntüleme süresi (AVD) görselleri oluştur
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 isterseniz herkese açık Android deposunda dal adlarını 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 Emülatör'de ç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.
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 AVD sistem görüntülerinizi Android Studio ile kullanabilir.
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
komutuaosp-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 URL'sini AVD Sistem Görüntüsü URL'si olarak kullanın.Android 12 ve önceki sürümlerde
repo-sys-img.xml
öğesini uygun şekilde düzenleyin:<sdk:url>
adresini 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ı geliştiriyor. 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çim yaparak AVD'ye çoklu ekran desteği ekleyebilirsiniz.
Aşağıdaki satırları dosyaya ekleyerek çoklu ekran sağlayıcısını 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
device/generic/goldfish/data/etc/advancedFeatures.ini
dosyasına aşağıdaki 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: