Google マップを使用する既存の Android アプリをテストする必要があります。Google API(API 17)を備えたエミュレーターAVDで実行できました。Samsung Galaxy S4 (1920x1080) などの高解像度デバイスでテストする必要があります。その後、SDK を更新すると、Google API を使用するすべての AVD (古いものと新しく作成されたものの両方) が同じように動作するようになりました。セグメンテーション違反 (コアダンプ) が発生し、クラッシュします。DDMS モニターは、最後のエラーが EGL に関連していることを示しています。
2GB RAM と AMD Turion64 1.6Ghz プロセッサを搭載した Linux マシン (Fedora、カーネル 2.6.35) からエミュレータを実行しています。
API 16、17、および 18 で実行しようとしましたが、それでも同じエラーが発生します。通常の SDK を使用した AVD は正常に動作します。問題は、Play、Map サービスなどを有効にする Google API にあります。emulator-arm も試しましたが、起動すらしません。
これ( Androidエミュレータのセグメンテーション違反)でヒントを試しましたが、うまくいきません。Nexus10 (2560x1600) で AVD を実行したときの出力は次のとおりです。
[rajeesh@localhost ~]$ emulator -avd N10APINew -verbose -scale .3
emulator: found SDK root at /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit
emulator: Android virtual device file at: /home/rajeesh/.android/avd/N10APINew.ini
emulator: virtual device content at /home/rajeesh/.android/avd/N10APINew.avd
emulator: virtual device config file: /home/rajeesh/.android/avd/N10APINew.avd/config.ini
emulator: using core hw config path: /home/rajeesh/.android/avd/N10APINew.avd/hardware-qemu.ini
emulator: Found AVD target API level: 16
emulator: 'magic' skin format detected: 2560x1600
emulator: autoconfig: -skin 2560x1600
emulator: autoconfig: -skindir (null)
emulator: keyset loaded from: /home/rajeesh/.android/default.keyset
emulator: found SDK root at /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit
emulator: trying to load skin file '/media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/tools/lib/emulator/skins/dynamic//layout'
emulator: loaded dynamic skin width=2560 height=1600 bpp=16
emulator: autoconfig: -kernel /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/system-images/android-16/armeabi-v7a//kernel-qemu
emulator: autoconfig: -ramdisk /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//ramdisk.img
emulator: Using initial system image: /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//system.img
emulator: autoconfig: -data /home/rajeesh/.android/avd/N10APINew.avd/userdata-qemu.img
emulator: autoconfig: -initdata /home/rajeesh/.android/avd/N10APINew.avd/userdata.img
emulator: autoconfig: -cache /home/rajeesh/.android/avd/N10APINew.avd/cache.img
emulator: Physical RAM size: 1024MB
Content of hardware configuration file:
hw.cpu.arch = arm
hw.cpu.model = cortex-a8
hw.ramSize = 1024
hw.screen = touch
hw.mainKeys = no
hw.trackBall = no
hw.keyboard = yes
hw.keyboard.lid = no
hw.keyboard.charmap = qwerty2
hw.dPad = no
hw.gsmModem = yes
hw.gps = yes
hw.battery = yes
hw.accelerometer = yes
hw.audioInput = yes
hw.audioOutput = yes
hw.sdCard = no
disk.cachePartition = yes
disk.cachePartition.path = /home/rajeesh/.android/avd/N10APINew.avd/cache.img
disk.cachePartition.size = 66m
hw.lcd.width = 2560
hw.lcd.height = 1600
hw.lcd.depth = 16
hw.lcd.density = 320
hw.lcd.backlight = yes
hw.gpu.enabled = yes
hw.camera.back = none
hw.camera.front = none
vm.heapSize = 128
hw.sensors.proximity = no
hw.sensors.magnetic_field = yes
hw.sensors.orientation = yes
hw.sensors.temperature = yes
hw.useext4 = no
kernel.path = /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/system-images/android-16/armeabi-v7a//kernel-qemu
kernel.parameters = android.checkjni=1
disk.systemPartition.initPath = /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//system.img
disk.systemPartition.size = 200m
disk.dataPartition.path = /home/rajeesh/.android/avd/N10APINew.avd/userdata-qemu.img
disk.dataPartition.size = 200m
avd.name = N10APINew
.
QEMU options list:
emulator: argv[00] = "/home/rajeesh/droid-kit/tools/emulator-arm"
emulator: argv[01] = "-android-hw"
emulator: argv[02] = "/home/rajeesh/.android/avd/N10APINew.avd/hardware-qemu.ini"
Concatenated QEMU options:
/home/rajeesh/droid-kit/tools/emulator-arm -android-hw /home/rajeesh/.android/avd/N10APINew.avd/hardware-qemu.ini
emulator: registered 'boot-properties' qemud service
emulator: nand_add_dev: system,size=0xc800000,initfile=/media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/add-ons/addon-google_apis-google-16/images/armeabi-v7a//system.img
emulator: mapping 'system' NAND image to /tmp/android-rajeesh/emulator-Tt0j9K
emulator: rounding devsize up to a full eraseunit, now c810000
emulator: nand_add_dev: userdata,size=0xc800000,file=/home/rajeesh/.android/avd/N10APINew.avd/userdata-qemu.img
emulator: rounding devsize up to a full eraseunit, now c810000
emulator: registered 'boot-properties' qemud service
emulator: Adding boot property: 'dalvik.vm.heapsize' = '128m'
emulator: Adding boot property: 'qemu.sf.lcd_density' = '320'
emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none'
emulator: nand_add_dev: cache,size=0x4200000,file=/home/rajeesh/.android/avd/N10APINew.avd/cache.img
emulator: Initializing hardware OpenGLES emulation support
failed to create drawable
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
failed to create drawable
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
emulator: Kernel parameters: qemu.gles=1 qemu=1 console=ttyS0 android.qemud=ttyS1 android.checkjni=1 ndns=1
emulator: Trace file name is not set
emulator: Could not open file: (null)/system/build.prop: No such file or directory
emulator: control console listening on port 5554, ADB on port 5555
emulator: sent '0012host:emulator:5555' to ADB server
emulator: ping program: /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/tools/ddms
emulator: ping command: /media/45d0873a-eafc-43a5-bcd8-6d674ae690c8/droid-kit/tools/ddms ping emulator 22.2.1.0 "Mesa Project" "Software Rasterizer" "2.1 Mesa 7.9"
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
[2]+ Done android avd
Segmentation fault (core dumped)
[rajeesh@localhost ~]$