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 özel Android sistem görüntülerinizi de paylaşarak diğer kişilerin bunların öykünmelerini çalıştırabilmesini sağlayabilirsiniz. Ayrıca Android Emulator emülasyonlarına çoklu ekran desteği ekleyebilirsiniz.
Android Emulator mimarisi
Android Emulator, Android cihazların emülasyonlarını Windows, macOS veya Linux makinelerinde çalıştırmanıza olanak tanır. Android Emulator, Android işletim sistemini Android Sanal Aygıt (AVD) adı verilen sanal bir makinede çalıştırır. AVD, Android yazılım yığınının tamamını içerir ve sanki fiziksel bir cihazdaymış gibi çalışır. Şekil 1, Android Emulator'un üst düzey mimarisinin bir diyagramıdır. Emülatör hakkında daha fazla bilgi için bkz. Android Emulator'da uygulamaları çalıştırma .
Şekil 1. Android Emulator mimarisi
AVD görüntüleri oluşturun
Her AVD, söz konusu AVD'de çalışan bir Android sistem görüntüsü içerir. AVD Manager bazı sistem görüntülerini 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.
Bir 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
Başka Android sürümleri oluşturmak istiyorsanız bunların şube adlarını genel Android deposunda bulabilirsiniz. Android Kod Adları, Etiketler ve Yapı Numaralarıyla eşleşirler.
Bir AVD sistem görüntüsü oluşturun. Bu, bir Android cihaz sistem görüntüsü oluşturmakla aynı süreçtir. Örneğin, x86 32 bit AVD oluşturmak için:
mkdir aosp-main; cd aosp-main
source ./build/envsetup.sh
lunch sdk_phone_x86
make -j32
Bir x86 64 bit AVD oluşturmayı tercih ederseniz, 64 bit hedefi için
lunch
çalıştırın:lunch sdk_phone_x86_64
AVD sistem görüntüsünü Android Emulator'da çalıştırın:
emulator
Öykünücüyü çalıştırma hakkında daha fazla ayrıntı için Komut satırı başlatma seçeneklerine bakın. Şekil 2, bir AVD çalıştıran Android Emülatörünün bir örneğini göstermektedir.
Şekil 2. AVD çalıştıran Android Emülatörü
Başkalarının Android Studio ile kullanması için AVD sistem görüntülerini paylaşın
AVD sistemi görüntülerinizi başkalarıyla paylaşmak için bu talimatları izleyin. Uygulamaları geliştirmek ve test etmek için AVD sistem görüntülerinizi Android Studio ile kullanabilirler.
Ek
sdk
vesdk_repo
paketleri oluşturun:Android 13 ve üzeri için
emu_img_zip
komutunu kullanın:$ make emu_img_zip
Bu, bir
sdk-repo-linux-system-images-eng.[username]].zip
dosyası oluşturur.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ümler için
repo-sys-img.xml
buna göre düzenleyin:-
<sdk:url>
öğesini AVD Sistem Görüntüsü URL'nize güncelleyin. - Dosyadaki 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 URL'sinin Özel Güncelleme Sitesi URL'si olarak kullanılmasını sağlayın.
-
Özel bir AVD görüntüsü kullanmak için SDK Yöneticisinde aşağıdakileri yapın:
Özel Güncelleme Sitesi URL'sini SDK Güncelleme Sitesi olarak ekleyin .
Bu, ö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 bir AVD oluşturun .
Çoklu ekran desteği ekleyin
Android 10, otomatik ve masaüstü modu gibi daha fazla kullanım durumunu daha iyi desteklemek için çoklu ekranı (MD) geliştirir . Android Emulator ayrıca ç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 bir AVD'ye çoklu ekran desteği ekleyebilirsiniz.
Bu satırları
build/target/product/sdk_phone_x86.mk
dosyasına ekleyerek yapıya çoklu ekran sağlayıcısı 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 bu satırı ekleyerek çoklu ekran özelliği bayrağını etkinleştirin:MultiDisplay = on
En yeni emülatör özelliklerini ve sürüm bilgilerini aşağıdaki kaynaklardan bulabilirsiniz: