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

Android Emulator mimarisi.

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

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

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

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 AVD sistem görüntülerinizi Android Studio ile kullanabilir.

  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 URL'sini AVD Sistem Görüntüsü URL'si olarak kullanın.

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

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