1

I've to test an existing android app that uses Google maps. I was able to run it in an emulator AVD with Google APIs (API 17). I have to test it in high resolution devices like Samsung Galaxy S4 (1920x1080) etc. Then I updated the SDK and now all AVDs (both old & newly created) with Google APIs behave the same way: It boots but right after booting, a segmentation fault (core dumped) occurs and it crashes. DDMS monitor shows that the last error is related with EGL.

I'm running the emulators from a linux machine(Fedora, kernel 2.6.35) with 2GB RAM and an AMD Turion64 1.6Ghz processor.

Tried running it with APIs 16, 17 and 18, still the same error occurs. AVDs with Normal SDKs work fine, issue is with Google APIs which enable Play, Map services etc. Tried emulator-arm also but it does not even boot.

Tried tips in this (Android emulator segmentation fault) but that does not work. Here's the output when an AVD with Nexus10 (2560x1600) was run:

[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 ~]$ 
Community
  • 1
  • 1
Rajeesh
  • 123
  • 1
  • 12

1 Answers1

0

Unfortunately, you cannot test google maps api v2 in an emulator even with the google api's, although some people have done it look here.I tried configuring emulator for google maps but couldnot do it. The maps application which is bundled along the emulator using google api's works but other maps releated applications do not.

The easiest thing to do is to test it in actual hardware.

Community
  • 1
  • 1
Illegal Argument
  • 10,090
  • 2
  • 44
  • 61
  • Thanks for the reply, @Subash. Before update, I were able to open the APK in an emulator with google apis. But now, the issue is not whether the app works in it or not, but the emulator itself has stopped working. Anyway, agree that I should test it on real hardware. – Rajeesh Oct 27 '13 at 01:27