Android emulator on anything other than Windows

Monkey Archive Forums/Digital Discussion/Android emulator on anything other than Windows

secondgear(Posted 2013) [#1]
I got used to the fact that Android emulator is virtually useless on Windows. I couldn't make it bearable even with Intel x86 image (must be something wrong with either my head or my computer). The only way I know to have fast Android on Windows for debugging purposes is Android-x86, which I used 2-3 years ago before switching to device-only debugging.

Does anybody use Android emulator on OS X or Linux? Is is any faster?


Soap(Posted 2013) [#2]
I've used http://www.bluestacks.com/ for Win/OS X Android emulation.

There is also:

http://forum.xda-developers.com/showthread.php?t=2333452

http://www.genymotion.com/features/

Which I've heard is superior, works linux/win/mac but I've not tested it yet.


secondgear(Posted 2013) [#3]
Cool, thanks! I tried BlueStacks while it was in beta, something was not working properly (now I don't remember what). Genymotion looks interesting, I'll give it a try.


MikeHart(Posted 2013) [#4]
The android emulator is slow as hell, no matter on which platform. OSX user here.


Gerry Quinn(Posted 2013) [#5]
I actually find it quite useful, but then I am more into puzzles where the frame rate doesn't matter much.

If nothing else, you can see what your stuff looks like on a variety of screen sizes.


DarkyCrystal(Posted 2013) [#6]
I tested Genymotion. It doesn't work with Monkey and I don't know why. The app is installed and when it launches the app, it stops directly.

I tested with a real android emulator (google...) that's very slow but it works. It works with bluestack too, but with Genymotion I can't get it work properly.

The problem with bluestack is that we can't test resolution, the screen is too big, it seems that we can't setup a mobile screen or something.

With Genymotion it's weird because I can get it work with Game Maker Studio...


Soap(Posted 2013) [#7]
If you do use bluestacks I recommend rooting it and changing apks to be opened by HD-ApkHandler.exe.

For changing resolution, this should work.

HKEY_LOCAL_MACHINE\SOFTWARE\Bluestacks\Guests\Android\FrameBuffer\0

Change height to 640 and width to 480 you should see something like Height 0x00000280 (640) and Width 0x000001e0 (480)

Don't know why Genymotion isn't working. The apk just won't run? I'll test next time I have time.


DarkyCrystal(Posted 2013) [#8]
Yes in fact, monkey injects the apk without problem, but when it launches the app, the app starts and closes directly. I tried severals things without success.

If I do the same with Game Maker Studio it works with Genymotion, so I don't know why it doesn't with monkey.

If you do use bluestacks I recommend rooting it and changing apks to be opened by HD-ApkHandler.exe.


How do you do that ?

Thanks


programmer(Posted 2013) [#9]
I tested Genymotion. It doesn't work with Monkey and I don't know why. The app is installed and when it launches the app, it stops directly.
Could you please run
adb logcat
and then post the exception to the forum?


DarkyCrystal(Posted 2013) [#10]
I can't because, I desinstalled it and now when I want to reinstall it, it says that it can't initialize virtual box. I have downloaded the full package (with virtualbox include). I can delete it, clean up reg and folder etc... that's the same thing.


DarkyCrystal(Posted 2013) [#11]
Ok Genymotion works now, that's because it keeps a registry entry. I will try to do a logcat.


DarkyCrystal(Posted 2013) [#12]
(Sorry for the triple post)

So,

I have this from monkey :

[­quote]
BUILD SUCCESSFUL
Total time: 6 seconds
Starting: Intent { cmp=com.monkeycoder.monkeygame/.MonkeyGame }
--------- beginning of /dev/log/main
E/AndroidRuntime( 1165):
E/AndroidRuntime( 1165): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
E/AndroidRuntime( 1165): will FindClass com/android/internal/os/RuntimeInit
--------- beginning of /dev/log/system
E/Trace ( 1174): error opening trace file: No such file or directory (2)
F/libc ( 1174): Fatal signal 11 (SIGSEGV) at 0x0000ffec (code=1), thread 1187 (Thread-90)
[/quote]

And the logcat :


--------- beginning of /dev/log/main

E/AndroidRuntime( 1165):

E/AndroidRuntime( 1165): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<

D/AndroidRuntime( 1165): CheckJNI is OFF

D/dalvikvm( 1165): Trying to load lib libjavacore.so 0x0

D/dalvikvm( 1165): Added shared lib libjavacore.so 0x0

D/dalvikvm( 1165): Trying to load lib libnativehelper.so 0x0

D/dalvikvm( 1165): Added shared lib libnativehelper.so 0x0

E/AndroidRuntime( 1165): will FindClass com/android/internal/os/RuntimeInit

D/AndroidRuntime( 1165): Calling main entry com.android.commands.am.Am

D/dalvikvm( 1165): Note: class Landroid/app/ActivityManagerNative; has 157 unimplemented (abstract) methods

--------- beginning of /dev/log/system

I/ActivityManager( 434): START u0 {flg=0x10000000 cmp=com.monkeycoder.monkeygame/.MonkeyGame} from pid 1165

D/PermissionCache( 456): checking android.permission.READ_FRAME_BUFFER for uid=1000 => granted (67 us)

D/dalvikvm( 434): GC_FOR_ALLOC freed 135K, 16% free 9307K/10980K, paused 7ms, total 7ms

I/dalvikvm-heap( 434): Grow heap (frag case) to 9.330MB for 214524-byte allocation

D/dalvikvm( 434): GC_FOR_ALLOC freed 10K, 16% free 9506K/11192K, paused 8ms, total 8ms

D/AndroidRuntime( 1165): Shutting down VM

D/dalvikvm( 1165): GC_CONCURRENT freed 89K, 17% free 482K/576K, paused 0ms+0ms, total 1ms

D/dalvikvm( 1174): Late-enabling CheckJNI

I/ActivityManager( 434): Start proc com.monkeycoder.monkeygame for activity com.monkeycoder.monkeygame/.MonkeyGame: pid=1174 uid=10048 gids={50048, 3003, 1028, 1015}

I/dalvikvm( 1174): Turning on JNI app bug workarounds for target SDK version 7...

E/Trace ( 1174): error opening trace file: No such file or directory (2)

V/PhoneStatusBar( 533): setLightsOn(true)

D/dalvikvm( 679): GC_CONCURRENT freed 258K, 5% free 6225K/6516K, paused 0ms+0ms, total 3ms

D/libEGL ( 1174): loaded /system/lib/egl/libEGL_emulation.so

D/ ( 1174): HostConnection::get() New Host Connection established 0xb81ce090, tid 1187

D/libEGL ( 1174): loaded /system/lib/egl/libGLESv1_CM_emulation.so

D/libEGL ( 1174): loaded /system/lib/egl/libGLESv2_emulation.so

D/ ( 1174): HostConnection::get() New Host Connection established 0xb81ce208, tid 1174

F/libc ( 1174): Fatal signal 11 (SIGSEGV) at 0x0000ffec (code=1), thread 1187 (Thread-90)

I/DEBUG ( 100): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

I/DEBUG ( 100): Build fingerprint: 'generic/vbox86p/vbox86p:4.2.2/JDQ39E/eng.buildbot.20130923.154959:userdebug/test-keys'

I/DEBUG ( 100): Revision: '0'

I/DEBUG ( 100): pid: 1174, tid: 1187, name: Thread-90 >>> com.monkeycoder.monkeygame <<<

I/DEBUG ( 100): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000ffec

I/ActivityManager( 434): Displayed com.monkeycoder.monkeygame/.MonkeyGame: +286ms

I/DEBUG ( 100): eax 98c1502c ebx 99078ff4 ecx 00003ffc edx 0000fff0

I/DEBUG ( 100): esi 0000ffec edi 98c25018

I/DEBUG ( 100): xcs 00000073 xds 0000007b xes 0000007b xfs 00000000 xss 0000007b

I/DEBUG ( 100): eip b75b3ef9 ebp 00010008 esp 991dcaa4 flags 00010686

I/DEBUG ( 100):

I/DEBUG ( 100): backtrace:

I/DEBUG ( 100): #00 pc 00026ef9 /system/lib/libc.so

I/DEBUG ( 100):

I/DEBUG ( 100): stack:

I/DEBUG ( 100): 991dca64 00000000

I/DEBUG ( 100): 991dca68 00000000

I/DEBUG ( 100): 991dca6c 00000000

I/DEBUG ( 100): 991dca70 00000000

I/DEBUG ( 100): 991dca74 00000000

I/DEBUG ( 100): 991dca78 00000000

I/DEBUG ( 100): 991dca7c 00000000

I/DEBUG ( 100): 991dca80 00000000

I/DEBUG ( 100): 991dca84 00000000

I/DEBUG ( 100): 991dca88 00000000

I/DEBUG ( 100): 991dca8c 00000000

I/DEBUG ( 100): 991dca90 00000000

I/DEBUG ( 100): 991dca94 00000000

I/DEBUG ( 100): 991dca98 00000000

I/DEBUG ( 100): 991dca9c 00000000

I/DEBUG ( 100): 991dcaa0 00000000

I/DEBUG ( 100): #00 991dcaa4 0000fff0

I/DEBUG ( 100): 991dcaa8 98c15018

I/DEBUG ( 100): 991dcaac 9905d7cb /system/lib/libGLESv1_enc.so (glBufferData_enc+107)

I/DEBUG ( 100): 991dcab0 98c1502c

I/DEBUG ( 100): 991dcab4 00000000

I/DEBUG ( 100): 991dcab8 0000fff0

I/DEBUG ( 100): 991dcabc b81e1f38 [heap]

I/DEBUG ( 100): 991dcac0 b81ce0a8 [heap]

I/DEBUG ( 100): 991dcac4 b75bb2d6 /system/lib/libc.so (recv+6)

I/DEBUG ( 100): 991dcac8 990c0ff4 /system/lib/libOpenglSystemCommon.so

I/DEBUG ( 100): 991dcacc 99078ff4 /system/lib/libGLESv1_enc.so

I/DEBUG ( 100): 991dcad0 b820baf0 [heap]

I/DEBUG ( 100): 991dcad4 00008892

I/DEBUG ( 100): 991dcad8 0000fff0

I/DEBUG ( 100): 991dcadc 990502b5 /system/lib/libGLESv1_enc.so (GLEncoder::s_glBufferData(void*, unsigned int, long, void const*, unsigned int)+149)

I/DEBUG ( 100): 991dcae0 b820baf0 [heap]

I/DEBUG ( 100):

I/DEBUG ( 100): memory map around fault addr 0000ffec:

I/DEBUG ( 100): (no map below)

I/DEBUG ( 100): (no map for address)

I/DEBUG ( 100): 9847d000-98485000

I/WindowState( 434): WIN DEATH: Window{a6baa698 u0 com.monkeycoder.monkeygame/com.monkeycoder.monkeygame.MonkeyGame}

W/WindowManager( 434): Force-removing child win Window{a6b0c7a8 u0 SurfaceView} from container Window{a6baa698 u0 com.monkeycoder.monkeygame/com.monkeycoder.monkeygame.MonkeyGame}

I/ActivityManager( 434): Process com.monkeycoder.monkeygame (pid 1174) has died.

W/ActivityManager( 434): Force removing ActivityRecord{a69819c0 u0 com.monkeycoder.monkeygame/.MonkeyGame}: app died, no saved state

W/WindowManager( 434): Failed looking up window

W/WindowManager( 434): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@a6941c00 does not exist

W/WindowManager( 434): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8102)

W/WindowManager( 434): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8093)

W/WindowManager( 434): at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:932)

W/WindowManager( 434): at android.os.BinderProxy.sendDeathNotice(Binder.java:433)

W/WindowManager( 434): at dalvik.system.NativeStart.run(Native Method)

I/WindowState( 434): WIN DEATH: null

D/Zygote ( 145): Process 1174 terminated by signal (11)

D/ ( 456): HostConnection::get() New Host Connection established 0xb89e0db8, tid 1189

W/EGL_emulation( 667): eglSurfaceAttrib not implemented

W/InputMethodManagerService( 434): Got RemoteException sending setActive(false) notification to pid 1174 uid 10048

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

I/ActivityManager( 434): No longer want com.android.music (pid 814): empty #17

I/InputReader( 434): Reconfiguring input devices. changes=0x00000010

I/AccountTypeManager( 850): Loaded meta-data for 1 account types, 0 accounts in 3ms(wall) 0ms(cpu)

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/Genymotion( 434): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

E/AndroidRuntime( 1202):

E/AndroidRuntime( 1202): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<

D/AndroidRuntime( 1202): CheckJNI is OFF

D/dalvikvm( 1202): Trying to load lib libjavacore.so 0x0

D/dalvikvm( 1202): Added shared lib libjavacore.so 0x0

D/dalvikvm( 1202): Trying to load lib libnativehelper.so 0x0

D/dalvikvm( 1202): Added shared lib libnativehelper.so 0x0

E/AndroidRuntime( 1202): will FindClass com/android/internal/os/RuntimeInit

D/AndroidRuntime( 1202): Calling main entry com.android.commands.pm.Pm

W/ActivityManager( 434): No content provider found for permission revoke: file:///data/local/tmp/MonkeyGame-debug.apk

W/ActivityManager( 434): No content provider found for permission revoke: file:///data/local/tmp/MonkeyGame-debug.apk

I/PackageManager( 434): Copying native libraries to /data/app-lib/vmdl-178214687

I/PackageManager( 434): Removing non-system package:com.monkeycoder.monkeygame

I/ActivityManager( 434): Force stopping package com.monkeycoder.monkeygame appid=10048 user=-1

I/PackageManager( 434): Running dexopt on: com.monkeycoder.monkeygame

I/PackageManager( 434): Package com.monkeycoder.monkeygame codePath changed from /data/app/com.monkeycoder.monkeygame-1.apk to /data/app/com.monkeycoder.monkeygame-2.apk; Retaining data and using new

D/dalvikvm( 1212): DexOpt: 'Landroid/annotation/SuppressLint;' has an earlier definition; blocking out

D/dalvikvm( 1212): DexOpt: 'Landroid/annotation/TargetApi;' has an earlier definition; blocking out

D/dalvikvm( 1212): DexOpt: not verifying/optimizing 'Landroid/annotation/SuppressLint;': multiple definitions

D/dalvikvm( 1212): DexOpt: not verifying/optimizing 'Landroid/annotation/TargetApi;': multiple definitions

D/dalvikvm( 1212): DexOpt: load 2ms, verify+opt 5ms, 380020 bytes

W/PackageManager( 434): Code path for pkg : com.monkeycoder.monkeygame changing from /data/app/com.monkeycoder.monkeygame-1.apk to /data/app/com.monkeycoder.monkeygame-2.apk

W/PackageManager( 434): Resource path for pkg : com.monkeycoder.monkeygame changing from /data/app/com.monkeycoder.monkeygame-1.apk to /data/app/com.monkeycoder.monkeygame-2.apk

I/ActivityManager( 434): Force stopping package com.monkeycoder.monkeygame appid=10048 user=-1

D/dalvikvm( 434): GC_CONCURRENT freed 697K, 14% free 9650K/11188K, paused 2ms+1ms, total 15ms

D/PackageManager( 434): New package installed in /data/app/com.monkeycoder.monkeygame-2.apk

W/PackageManager( 434): Unknown permission com.android.vending.BILLING in package com.monkeycoder.monkeygame

I/ActivityManager( 434): Force stopping package com.monkeycoder.monkeygame appid=10048 user=0

I/InputReader( 434): Reconfiguring input devices. changes=0x00000010

I/AccountTypeManager( 850): Loaded meta-data for 1 account types, 0 accounts in 4ms(wall) 1ms(cpu)

I/ActivityManager( 434): Start proc com.android.keychain for broadcast com.android.keychain/.KeyChainBroadcastReceiver: pid=1214 uid=1000 gids={41000, 1015, 1028, 3002, 3001, 3003}

W/ResourceType( 434): Failure getting entry for 0x7f060000 (t=5 e=0) in package 0 (error -75)

I/InputReader( 434): Reconfiguring input devices. changes=0x00000010

I/AccountTypeManager( 850): Loaded meta-data for 1 account types, 0 accounts in 2ms(wall) 0ms(cpu)

W/ResourceType( 434): Failure getting entry for 0x7f060000 (t=5 e=0) in package 0 (error -75)

W/InputMethodManagerService( 434): Found no subtypes in a system IME: com.android.inputmethod.pinyin

E/Trace ( 1214): error opening trace file: No such file or directory (2)

W/ContextImpl( 1214): Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1352 android.content.ContextWrapper.startService:450 android.content.ContextWrapper.startService:450 com.android.keychain.KeyChainBroadcastReceiver.onReceive:12 android.app.ActivityThread.handleReceiver:2376

D/dalvikvm( 434): GC_EXPLICIT freed 838K, 15% free 9594K/11188K, paused 2ms+2ms, total 55ms

W/RecognitionManagerService( 434): no available voice recognition services found for user 0

D/AndroidRuntime( 1202): Shutting down VM

D/dalvikvm( 1202): GC_CONCURRENT freed 89K, 18% free 451K/544K, paused 0ms+0ms, total 0ms

E/AndroidRuntime( 1235):

E/AndroidRuntime( 1235): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<

D/AndroidRuntime( 1235): CheckJNI is OFF

D/dalvikvm( 1235): Trying to load lib libjavacore.so 0x0

D/dalvikvm( 1235): Added shared lib libjavacore.so 0x0

D/dalvikvm( 1235): Trying to load lib libnativehelper.so 0x0

D/dalvikvm( 1235): Added shared lib libnativehelper.so 0x0

E/AndroidRuntime( 1235): will FindClass com/android/internal/os/RuntimeInit

D/AndroidRuntime( 1235): Calling main entry com.android.commands.am.Am

D/dalvikvm( 1235): Note: class Landroid/app/ActivityManagerNative; has 157 unimplemented (abstract) methods

I/ActivityManager( 434): START u0 {flg=0x10000000 cmp=com.monkeycoder.monkeygame/.MonkeyGame} from pid 1235

D/dalvikvm( 434): GC_FOR_ALLOC freed 85K, 15% free 9540K/11188K, paused 7ms, total 8ms

I/dalvikvm-heap( 434): Grow heap (frag case) to 9.557MB for 214524-byte allocation

D/dalvikvm( 434): GC_FOR_ALLOC freed 7K, 15% free 9742K/11400K, paused 8ms, total 8ms

D/AndroidRuntime( 1235): Shutting down VM

D/dalvikvm( 1235): GC_CONCURRENT freed 89K, 17% free 482K/576K, paused 0ms+0ms, total 0ms

D/dalvikvm( 1244): Late-enabling CheckJNI

I/ActivityManager( 434): Start proc com.monkeycoder.monkeygame for activity com.monkeycoder.monkeygame/.MonkeyGame: pid=1244 uid=10048 gids={50048, 3003, 1028, 1015}

I/dalvikvm( 1244): Turning on JNI app bug workarounds for target SDK version 7...

E/Trace ( 1244): error opening trace file: No such file or directory (2)

V/PhoneStatusBar( 533): setLightsOn(true)

D/libEGL ( 1244): loaded /system/lib/egl/libEGL_emulation.so

D/ ( 1244): HostConnection::get() New Host Connection established 0xb81ce360, tid 1257

D/ ( 1244): HostConnection::get() New Host Connection established 0xb81ce1e8, tid 1244

D/libEGL ( 1244): loaded /system/lib/egl/libGLESv1_CM_emulation.so

D/libEGL ( 1244): loaded /system/lib/egl/libGLESv2_emulation.so

F/libc ( 1244): Fatal signal 11 (SIGSEGV) at 0x0000ffec (code=1), thread 1257 (Thread-96)

I/ActivityManager( 434): Displayed com.monkeycoder.monkeygame/.MonkeyGame: +269ms

I/DEBUG ( 100): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

I/DEBUG ( 100): Build fingerprint: 'generic/vbox86p/vbox86p:4.2.2/JDQ39E/eng.buildbot.20130923.154959:userdebug/test-keys'

I/DEBUG ( 100): Revision: '0'

I/DEBUG ( 100): pid: 1244, tid: 1257, name: Thread-96 >>> com.monkeycoder.monkeygame <<<

I/DEBUG ( 100): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000ffec

I/DEBUG ( 100): eax 98c1502c ebx 99078ff4 ecx 00003ffc edx 0000fff0

I/DEBUG ( 100): esi 0000ffec edi 98c25018

I/DEBUG ( 100): xcs 00000073 xds 0000007b xes 0000007b xfs 00000000 xss 0000007b

I/DEBUG ( 100): eip b75b3ef9 ebp 00010008 esp 991dcaa4 flags 00010686

I/DEBUG ( 100):

I/DEBUG ( 100): backtrace:

I/DEBUG ( 100): #00 pc 00026ef9 /system/lib/libc.so

I/DEBUG ( 100):

I/DEBUG ( 100): stack:

I/DEBUG ( 100): 991dca64 00000000

I/DEBUG ( 100): 991dca68 00000000

I/DEBUG ( 100): 991dca6c 00000000

I/DEBUG ( 100): 991dca70 00000000

I/DEBUG ( 100): 991dca74 00000000

I/DEBUG ( 100): 991dca78 00000000

I/DEBUG ( 100): 991dca7c 00000000

I/DEBUG ( 100): 991dca80 00000000

I/DEBUG ( 100): 991dca84 00000000

I/DEBUG ( 100): 991dca88 00000000

I/DEBUG ( 100): 991dca8c 00000000

I/DEBUG ( 100): 991dca90 00000000

I/DEBUG ( 100): 991dca94 00000000

I/DEBUG ( 100): 991dca98 00000000

I/DEBUG ( 100): 991dca9c 00000000

I/DEBUG ( 100): 991dcaa0 00000000

I/DEBUG ( 100): #00 991dcaa4 0000fff0

I/DEBUG ( 100): 991dcaa8 98c15018

I/DEBUG ( 100): 991dcaac 9905d7cb /system/lib/libGLESv1_enc.so (glBufferData_enc+107)

I/DEBUG ( 100): 991dcab0 98c1502c

I/DEBUG ( 100): 991dcab4 00000000

I/DEBUG ( 100): 991dcab8 0000fff0

I/DEBUG ( 100): 991dcabc b8218438 [heap]

I/DEBUG ( 100): 991dcac0 b81cfa10 [heap]

I/DEBUG ( 100): 991dcac4 b75bb2d6 /system/lib/libc.so (recv+6)

I/DEBUG ( 100): 991dcac8 990c0ff4 /system/lib/libOpenglSystemCommon.so

I/DEBUG ( 100): 991dcacc 99078ff4 /system/lib/libGLESv1_enc.so

I/DEBUG ( 100): 991dcad0 b820baf0 [heap]

I/DEBUG ( 100): 991dcad4 00008892

I/DEBUG ( 100): 991dcad8 0000fff0

I/DEBUG ( 100): 991dcadc 990502b5 /system/lib/libGLESv1_enc.so (GLEncoder::s_glBufferData(void*, unsigned int, long, void const*, unsigned int)+149)

I/DEBUG ( 100): 991dcae0 b820baf0 [heap]

I/DEBUG ( 100):

I/DEBUG ( 100): memory map around fault addr 0000ffec:

I/DEBUG ( 100): (no map below)

I/DEBUG ( 100): (no map for address)

I/DEBUG ( 100): 9847d000-98485000

W/InputDispatcher( 434): channel 'a6bba0d8 com.monkeycoder.monkeygame/com.monkeycoder.monkeygame.MonkeyGame (server)' ~ Consumer closed input channel or an error occurred. events=0x9

E/InputDispatcher( 434): channel 'a6bba0d8 com.monkeycoder.monkeygame/com.monkeycoder.monkeygame.MonkeyGame (server)' ~ Channel is unrecoverably broken and will be disposed!

I/ActivityManager( 434): Process com.monkeycoder.monkeygame (pid 1244) has died.

W/ActivityManager( 434): Force removing ActivityRecord{a69902d0 u0 com.monkeycoder.monkeygame/.MonkeyGame}: app died, no saved state

D/Zygote ( 145): Process 1244 terminated by signal (11)

I/WindowState( 434): WIN DEATH: Window{a6bbe5d0 u0 SurfaceView}

W/InputDispatcher( 434): Attempted to unregister already unregistered input channel 'a6bba0d8 com.monkeycoder.monkeygame/com.monkeycoder.monkeygame.MonkeyGame (server)'

I/WindowState( 434): WIN DEATH: Window{a6bba0d8 u0 com.monkeycoder.monkeygame/com.monkeycoder.monkeygame.MonkeyGame}

W/EGL_emulation( 667): eglSurfaceAttrib not implemented

W/InputMethodManagerService( 434): Got RemoteException sending setActive(false) notification to pid 1244 uid 10048




DarkyCrystal(Posted 2013) [#13]
anyone ? :'(


Sammy(Posted 2013) [#14]
Last time I tried Bluestacks it only worked with signed apk's, I don't know if this is still the case?


DarkyCrystal(Posted 2013) [#15]
I tried with Bluestack, it seems that now we can test in debug mode without signing apk, but still have the same pb with Genymotion. In fact the app is installed on emulator, it just does not run (the app exits directly).


rIKmAN(Posted 2013) [#16]
I use Bluestacks here for testing Monkey apps, and it works fine without me having to do any of the signing stuff.

I did do the registry change the change the device resolution as well.

If you want to host your .apk somewhere I'm sure a few of us would be happy to test it for you, which would help work out whether the problem is with the .apk or something specific to your machine or installation of the software.

Just a thought.


DarkyCrystal(Posted 2013) [#17]
I just use samples that are in bananas folder.

That works with Bluestacks but not with GenyMotion, for example the aliensbounce sample.

The pb with Blustacks is that I cannot have a resolution like phone resolution (at the same as I change in the registry the values), because after doing changes in reg, I don't have the "android system bar" anymore to interact with. That's why I would like to use Genymotion, but I tested with severals samples (blob monster, bouce aliens etc...) and 0 works.

That's very weird.


secondgear(Posted 2013) [#18]
I tried both BlueStacks and Genymotion with the same degree of success as DarkyCrystal:

- BlueStacks works fine (using registry editing to change resolution)
- in Genymotion my app dies with the same Fatal signal 11 message. The app is written in an old version of Monkey (53 I believe), maybe there is some kind of OpenGL incompatibility.

BlueStacks seems to run my other non-Monkey apps faster than Genymotion.

If only I could find a way to disable Android soft buttons bar at the botom of the screen, I could use BlueStacks to take screenshots for all kinds of devices, including iPad :) In 480x800 the bar disappears, but in either 1024x768 or 768x1024 it is there.

UPDATE: Tried bouncyaliens from 75d - also crashes in Genymotion.


DarkyCrystal(Posted 2013) [#19]
Ah...I'm not the only one so ^^

I don't think this is an incompatibily with openGL because I made some tests with other maker like GMS and the game worked great with Genymotion, using the opengl too.

For BlueStacks, it'very pitty for the resolution because I like 480x800 but without the bar it's annoying. The problem is that the 1024x768 resolution has not the same ratio than 480x800 so, to test the "adapting screen skill" of an app, in an existing android resolution for phone, it's pretty difficult.

(sorry for my english lol...)


Gerry Quinn(Posted 2013) [#20]
What I do is compile for HTML as well, it's easy to change to any resolution you want. For example, if you are targeting a 800x480 Android in portrait mode with the menu bar (that can't be switched off even if the device has real buttons and you want to play Fruit Ninja but you keep hitting that stupid bar by accident), you can compile for say 480 x 720 or whatever.


DarkyCrystal(Posted 2013) [#21]
That's a good idea :) But I can't explain this problem with Genymotion.


mat(Posted 2014) [#22]
This is an old thread but I had a similar problem with the Android Emulator (using HAXM with Intel image), and with Genymotion, using Monkey X 78a on Windows 8.1.

I was getting a SIGSEGV where GLES11.glBufferData is called with a null data pointer. The only information i found on the net was this post, but it looks like a null pointer should be allowed so i don't know why it crashes.

Based on the link above, i searched mojo.android.java and found two occurrences of the following (in Monkey X 78a)
GLES11.glBufferData( GLES11.GL_ARRAY_BUFFER,MAX_VERTICES*20,null,GLES11.GL_DYNAMIC_DRAW );

which i replaced with
ByteBuffer t=ByteBuffer.allocateDirect(MAX_VERTICES*20).order(ByteOrder.nativeOrder());
GLES11.glBufferData( GLES11.GL_ARRAY_BUFFER,MAX_VERTICES*20,t,GLES11.GL_DYNAMIC_DRAW );


This runs nicely now, i.e. no more crashes. Is there any downside to this change of code, or a better change that could be made?


nikoniko(Posted 2014) [#23]
What's about VirtualBox (or other VM) and Android-X86 project http://www.android-x86.org/download ?

Intel has intelhaxm software to accelerate Android emulator (x86 images only).
http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager

I am not sure haxm compatibles with VirtualBox, etc.


nikoniko(Posted 2014) [#24]
nikoniko wrote:
I am not sure haxm compatibles with VirtualBox, etc.


I have installed Haxm hotfix version for Windows 8.1 to computer with VirtualBox installed. No error/conflict messages yet.


nikoniko(Posted 2014) [#25]
nikoniko wrote:
No error/conflict messages yet.


No success to run monkey app on androuid x86 image or with GPU Host = On option. Only in emulation mode.


nikoniko(Posted 2014) [#26]
mat wrote:
This runs nicely now, i.e. no more crashes. Is there any downside to this change of code, or a better change that could be made?


Wow! Thanks! I am searching solution for SIGSEGV while don't look to up of this topic :)

Now monkey game works smooth and fast under HAXM/Android-x86 emulator.

mat
I think this fix is required for x86 emulator images only, not sure about real device.

So we can apply fix for emulator/x-86/debug mode only or combination of them.

  public static boolean isRunningOnEmulator()
    {
    boolean result=//
        Build.FINGERPRINT.startsWith("generic")//
            ||Build.FINGERPRINT.startsWith("unknown")//
            ||Build.MODEL.contains("google_sdk")//
            ||Build.MODEL.contains("Emulator")//
            ||Build.MODEL.contains("Android SDK built for x86")
            ||Build.MANUFACTURER.contains("Genymotion");
    if(result)
      return true;
    result|=Build.BRAND.startsWith("generic")&&Build.DEVICE.startsWith("generic");
    if(result)
      return true;
    result|="google_sdk".equals(Build.PRODUCT);
    return result;
    }


Link to download latest version of Intel HAXM https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager


Xyle(Posted 2014) [#27]
After an all dayer on trying to get emulation to work with the Android Emulator, then switching to Genymotion, which I love the fact that you can load device specific roms for,

After commenting all my sounds out to stop the heap size error

I ran into this...
BUILD SUCCESSFUL
Total time: 10 seconds
Starting: Intent { cmp=com.yellzbellz.puppyjoustingv3/.MonkeyGame }

--------- beginning of /dev/log/main

E/cutils-trace( 1668): Error opening trace file: No such file or directory (2)

--------- beginning of /dev/log/system

E/OpenGLRenderer( 1680): Getting MAX_TEXTURE_SIZE from GradienCache

E/OpenGLRenderer( 1680): Getting MAX_TEXTURE_SIZE from Caches::initConstraints()

E/Genymotion( 347): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

I/[Monkey]( 1680): Monkey Runtime Error : Rendering operations can only be performed inside OnRender

I/[Monkey]( 1680): C:/Downloads/1 - Programming Files/MyMonkeyX/Registered Download/MonkeyXPro77f/MonkeyXPro77f/modules/mojo/graphics.monkey<53>

I/[Monkey]( 1680): C:/Downloads/1 - Programming Files/MyMonkeyX/Registered Download/MonkeyXPro77f/MonkeyXPro77f/modules/mojo/graphics.monkey<382>

I/[Monkey]( 1680): C:/Downloads/1 - Programming Files/MyMonkeyX/PuppyJousting/puppyjousting.monkey<124>

I/[Monkey]( 1680): C:/Downloads/1 - Programming Files/MyMonkeyX/Registered Download/MonkeyXPro77f/MonkeyXPro77f/modules/mojo/app.monkey<113>

E/AndroidRuntime( 1680): FATAL EXCEPTION: GLThread 117

E/AndroidRuntime( 1680): java.lang.RuntimeException: Rendering operations can only be performed inside OnRender

E/AndroidRuntime( 1680): at com.yellzbellz.puppyjoustingv3.bb_std_lang.error(MonkeyGame.java:133)

E/AndroidRuntime( 1680): at com.yellzbellz.puppyjoustingv3.bb_graphics.g_DebugRenderDevice(MonkeyGame.java:12876)

E/AndroidRuntime( 1680): at com.yellzbellz.puppyjoustingv3.bb_graphics.g_Cls(MonkeyGame.java:12884)

E/AndroidRuntime( 1680): at com.yellzbellz.puppyjoustingv3.c_Game.p_OnRender(MonkeyGame.java:3928)

E/AndroidRuntime( 1680): at com.yellzbellz.puppyjoustingv3.c_GameDelegate.RenderGame(MonkeyGame.java:4212)

E/AndroidRuntime( 1680): at com.yellzbellz.puppyjoustingv3.BBGame.RenderGame(MonkeyGame.java:600)

E/AndroidRuntime( 1680): at com.yellzbellz.puppyjoustingv3.BBAndroidGame.onDrawFrame(MonkeyGame.java:1360)

E/AndroidRuntime( 1680): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)

E/AndroidRuntime( 1680): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

E/Genymotion( 347): Could not open '/sys/class/power_supply/genymotion_fake_path/present'

This game works porting to my GalaxyS3, so I will continue the adventure tomorrow!