Android Emulator sanal cihazlarını kullanma

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.

Android Emulator mimarisi.

Ş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:

  1. 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.

  1. 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
    
  2. 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:

AVD çalıştıran Android Emulator.

Ş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.

  1. Ek sdk ve sdk_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
  2. 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.

  3. 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:

  1. Özel Güncelleme Sitesi URL'sini SDK Güncelleme Sitesi olarak ekleyin.

    Bu işlem, özel AVD sistem resminizi Sistem Resimleri sayfasına ekler.

  2. Ö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: