Kendi özel Android sistem görüntülerinizi çalıştıran Android cihazların öykünmelerini oluşturmak için Android Öykünücüsünü kullanabilirsiniz. Ayrıca özel Android sistem görüntülerinizi paylaşabilirsiniz, böylece başkaları da onların öykünmelerini çalıştırabilir. Ayrıca Android Emulator emülasyonlarına çoklu ekran desteği ekleyebilirsiniz.
Android Emülatör mimarisi
Android Emulator, Android cihazların öykünmelerini Windows, macOS veya Linux makinelerinde çalıştırmanıza olanak tanır. Android Emulator, Android işletim sistemini Android Virtual Device (AVD) adı verilen sanal bir makinede çalıştırır. AVD, tam Android yazılım yığınını içerir ve sanki fiziksel bir cihazdaymış gibi çalışır. Şekil 1, Android Emulator'ın üst düzey mimarisinin bir diyagramıdır. Öykünücü hakkında daha fazla bilgi için bkz. Android Öykünücüsünde uygulamaları çalıştırma .
Şekil 1. Android Emulator mimarisi
AVD görüntüleri oluşturma
Her AVD, o AVD'de çalışan bir Android sistem görüntüsü içerir. AVD Yöneticisi bazı sistem görüntüleri içerir. Ayrıca kaynak kodunuzdan özel AVD sistem görüntüleri oluşturabilir ve bunları çalıştırmak için cihaz öykünmeleri 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
Diğer Android sürümlerini oluşturmak istiyorsanız, şube adlarını genel Android deposunda bulabilirsiniz. Android Kod Adları, Etiketler ve Yapı Numaraları ile eşleşirler.
Bir AVD sistem görüntüsü oluşturun. Bu, bir Android cihaz sistem görüntüsü oluşturmakla aynı işlemdir. Örneğin, bir 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 hedef 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 Öykünücüsünün bir örneğini göstermektedir.
Şekil 2. AVD çalıştıran Android Emulator
Android Studio ile başkalarının kullanması için AVD sistem görüntülerini paylaşma
AVD sistem 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 üstü 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 altı 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'sinin AVD Sistem Görüntüsü URL'si olarak kullanılmasını sağlayın.Android 12 ve önceki sürümler için
repo-sys-img.xml
dosyasını 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'ye bakın.
-
repo-sys-img.xml
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 bir 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 ekleme
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 öykünmesini de 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 özenle seçerek 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
Bu satırı
device/generic/goldfish/data/etc/advancedFeatures.ini
dosyasına ekleyerek Çoklu Ekran özelliği bayrağını etkinleştirin:MultiDisplay = on
En son öykünücü özelliklerini ve sürüm bilgilerini aşağıdaki kaynaklardan bulabilirsiniz: