Android Emulator sanal cihazlarını kullanma

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) adı verilen bir sanal makinede çalıştırır. Her AVD, Android yazılım yığınını içerir ve fiziksel bir cihazdaymış gibi çalışır. Şekil 1'de Android Emulator'ın üst düzey mimarisi gösterilmektedir. Emülatör hakkında daha fazla bilgi için Android Emülatör'de uygulamaları çalıştırma başlıklı makaleyi inceleyin.

Android Emulator mimarisi.

1. şekil. Android Emulator mimarisi.

AVD görüntüleri oluşturma

Her AVD, söz konusu AVD'de çalışan bir Android sistem görüntüsü içerir. AVD Manager'da bazı sistem görüntüleri bulunur. 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-android-latest-release; cd aosp-android-latest-release
    repo init -u
    repo sync -j24

Diğer Android sürümlerini oluşturmak istiyorsanız bunların dal adlarını Herkese açık Android deposunda bulabilirsiniz. Android Kod Adları, Etiketler ve Derleme Numaraları ile eşlenir.

  1. AVD sistem görüntüsü oluşturun. Bu işlem, Android cihaz sistem görüntüsü oluşturma ile 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şlangıç 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.

AVD sistem görüntülerini başkalarıyla paylaşarak Android Studio'da kullanmalarını sağlama

AVD sistem görüntülerinizi başkalarıyla paylaşmak için bu talimatları uygulayın. Bu kişiler, uygulama geliştirip test etmek için Android Studio ile AVD sistem görüntülerinizi kullanabilir.

  1. Ek sdk ve sdk_repo paketleri oluşturun:

    Android 13 ve sonraki sürümlerde emu_img_zip komutunu kullanın:

    $ make emu_img_zip
    

    Bu işlem, sdk-repo-linux-system-images-eng.[username]].zip dosyası oluşturur.

    Android 12 ve önceki sürümlerde sdk_repo komutunu kullanın:

    $ make -j32 sdk sdk_repo
    

    make sdk sdk_repo komutu, aosp-android-latest-release/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. Dosyayı sdk-repo-linux-system-images-eng.[username].zip kullanıcılarınızın erişebileceği bir yerde barındırın ve AVD Sistem Görüntüsü URL'si olarak kullanmak üzere dosyanın URL'sini alın.

  3. Android 12 ve önceki sürümlerde repo-sys-img.xml kısmını uygun şekilde düzenleyin:

    • <sdk:url> öğesini AVD sistem görüntüsü URL'niz ile güncelleyin.
    • Dosyada yapılan 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 Özel Güncelleme Sitesi URL'si olarak kullanmak üzere URL'sini alın.

Özel bir AVD görüntüsü 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 görüntünüzü Sistem Görüntüleri sayfasına ekler.

  2. Özel AVD sistem görüntüsünü indirip seçerek AVD oluşturun.

Çoklu ekran desteği ekleme

Android 10, çoklu ekran deneyimini geliştirerek otomatik ve masaüstü modu gibi daha fazla kullanım alanını destekler. 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 AVD'ye çoklu ekran desteği ekleyebilirsiniz.

  • Şu satırları dosyaya ekleyerek çoklu ekran sağlayıcıyı 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
    
  • Aşağıdaki satırı dosyaya ekleyerek çoklu ekran özellik işaretini etkinleştirin device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

En yeni emülatör özelliklerini ve sürüm bilgilerini aşağıdaki kaynaklardan edinebilirsiniz: