Here's my progress for ZGEBullet:
- The lib compiles perfectly for android 32 and 64 (I tested everything, like 'file', 'readelf'... everything is fine)
- Only the android 32 lib works. The android 64 one crash
- The lib works well for linux 64 but not android 64. Exact same code.
- I tried compiling it from Linux and Windows with different Android NDK versions, same result
- I didn't find anything in Rado1's wrapper that could trigger a bug in 64 bit, but maybe there is?
- The lib only compiles with bullet3 version up to 2.85.1, which is aging from 2016. Maybe they repaired a thing in their code with later versions that was buggy in Android 64?
- I compiled the lib with flag -g for debug:
Android 32:
Code: Select all
09-12 12:31:36.234 I/ActivityTaskManager( 2044): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.txori.ZGEBullet/org.zgameeditor.ZgeActivity bnds=[439,1790][640,2091]} from uid 10042
09-12 12:31:36.307 I/ActivityManager( 2044): Start proc 20170:com.txori.ZGEBullet/u0a572 for pre-top-activity {com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}
09-12 12:31:36.340 I/txori.ZGEBulle(20170): Late-enabling -Xcheck:jni
09-12 12:31:36.383 I/A ( 3733): onPause
09-12 12:31:36.383 I/txori.ZGEBulle(20170): Using CollectorTypeCC GC.
09-12 12:31:36.542 W/ziparchive(20170): Unable to open '/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.dm': No such file or directory
09-12 12:31:36.542 W/ziparchive(20170): Unable to open '/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.dm': No such file or directory
09-12 12:31:36.552 D/nativeloader(20170): Configuring clns-4 for other apk /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.apk. target_sdk_version=29, uses_libraries=, library_path=/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm:/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.apk!/lib/armeabi, permitted_path=/data:/mnt/expand:/data/user/0/com.txori.ZGEBullet
09-12 12:31:36.605 V/GraphicsEnvironment(20170): ANGLE Developer option for 'com.txori.ZGEBullet' set to: 'default'
09-12 12:31:36.605 V/GraphicsEnvironment(20170): ANGLE GameManagerService for com.txori.ZGEBullet: false
09-12 12:31:36.606 V/GraphicsEnvironment(20170): Neither updatable production driver nor prerelease driver is supported.
09-12 12:31:36.734 D/nativeloader(20170): Load /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm/libzgeandroid.so using ns clns-4 from class loader (caller=/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.apk): ok
09-12 12:31:36.747 E/ZgeAndroid(20170): /storage/emulated/0
09-12 12:31:36.747 E/ZgeAndroid(20170): /data/user/0/com.txori.ZGEBullet/files/
09-12 12:31:36.747 E/ZgeAndroid(20170): /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm/
nt context (logged once per thread)
09-12 12:31:36.775 E/ZgeAndroid(20170): Library found: /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm/./libZgeBullet.so
09-12 12:31:37.304 W/ziparchive( 2044): Unable to open '/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.dm': No such file or directory
09-12 12:31:37.308 I/ActivityTaskManager( 2044): Displayed com.txori.ZGEBullet/org.zgameeditor.ZgeActivity: +1s65ms
09-12 12:31:37.327 I/GoogleInputMethodService( 3316): GoogleInputMethodService.updateDeviceLockedStatus():2192 repeatCheckTimes = 0, locked = false
09-12 12:31:37.328 I/GoogleInputMethodService( 3316): GoogleInputMethodService.onStartInput():1936 onStartInput(EditorInfo{EditorInfo{packageName=com.txori.ZGEBullet, inputType=0, inputTypeString=NULL, enableLearning=false, autoCorrection=false, autoComplete=false, imeOptions=0, privateImeOptions=null, actionName=UNSPECIFIED, actionLabel=null, initialSelStart=-1, initialSelEnd=-1, initialCapsMode=0, label=null, fieldId=-1, fieldName=null, extras=null, hintText=null, hintLocales=[]}}, false)
09-12 12:31:37.679 W/InputManager-JNI( 2044): Input channel object 'be2c3bc Splash Screen com.txori.ZGEBullet (client)' was disposed without first being removed with the input manager!
09-12 12:31:41.261 D/b/195430732( 2627): currentRunningTaskViewId: 8 requestedTaskViewId: 8
09-12 12:31:41.261 I/InputDispatcher( 2044): Monitor swipe-up (server) is stealing touch from [882d01c com.txori.ZGEBullet/org.zgameeditor.ZgeActivity (server), ]
09-12 12:31:42.908 I/ActivityManager( 2044): Killing 20170:com.txori.ZGEBullet/u0a572 (adj 905): remove task
09-12 12:31:43.114 I/GoogleInputMethodService( 3316): GoogleInputMethodService.onStartInput():1936 onStartInput(EditorInfo{EditorInfo{packageName=com.txori.ZGEBullet, inputType=0, inputTypeString=NULL, enableLearning=false, autoCorrection=false, autoComplete=false, imeOptions=0, privateImeOptions=null, actionName=UNSPECIFIED, actionLabel=null, initialSelStart=-1, initialSelEnd=-1, initialCapsMode=0, label=null, fieldId=-1, fieldName=null, extras=null, hintText=null, hintLocales=[]}}, true)
09-12 12:31:43.168 I/HandwritingOnlineSuperpacks( 3316): HandwritingOnlineSuperpacks$2.apply():184 syncPackMapping()
09-12 12:31:43.168 I/adbd ( 6908): Remote process closed the socket (on MSG_PEEK)
09-12 12:31:43.168 I/WindowManager( 2044): WIN DEATH: Window{882d01c u0 com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}
09-12 12:31:43.169 W/InputManager-JNI( 2044): Input channel object '882d01c com.txori.ZGEBullet/org.zgameeditor.ZgeActivity (client)' was disposed without first being removed with the input manager!
Android 64:
Code: Select all
09-12 12:23:28.475 I/ActivityTaskManager( 2044): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.txori.ZGEBullet/org.zgameeditor.ZgeActivity bnds=[439,1790][640,2091]} from uid 10042
09-12 12:23:28.583 I/ActivityManager( 2044): Start proc 18023:com.txori.ZGEBullet/u0a572 for pre-top-activity {com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}
09-12 12:23:28.589 I/txori.ZGEBulle(18023): Late-enabling -Xcheck:jni
09-12 12:23:28.626 I/txori.ZGEBulle(18023): Using CollectorTypeCC GC.
09-12 12:23:28.628 W/txori.ZGEBulle(18023): Mismatch between instruction set variant of device (ISA: Arm64 Feature string: -a53,crc,lse,fp16,dotprod,-sve) and features returned by the hardware (ISA: Arm64 Feature string: -a53,crc,lse,fp16,-dotprod,-sve)
09-12 12:23:28.722 D/nativeloader(18023): Configuring clns-4 for other apk /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/base.apk. target_sdk_version=29, uses_libraries=, library_path=/data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64:/data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.txori.ZGEBullet
09-12 12:23:28.761 V/GraphicsEnvironment(18023): ANGLE Developer option for 'com.txori.ZGEBullet' set to: 'default'
09-12 12:23:28.762 V/GraphicsEnvironment(18023): ANGLE GameManagerService for com.txori.ZGEBullet: false
09-12 12:23:28.762 V/GraphicsEnvironment(18023): Neither updatable production driver nor prerelease driver is supported.
09-12 12:23:28.854 D/nativeloader(18023): Load /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/libzgeandroid.so using ns clns-4 from class loader (caller=/data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/base.apk): ok
09-12 12:23:28.865 E/ZgeAndroid(18023): /storage/emulated/0
09-12 12:23:28.866 E/ZgeAndroid(18023): /data/user/0/com.txori.ZGEBullet/files/
09-12 12:23:28.866 E/ZgeAndroid(18023): /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/
09-12 12:23:28.875 E/ZgeAndroid(18023): Library found: /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/./libZgeBullet.so
09-12 12:23:29.334 I/KeyboardGroupDefParser( 3316): KeyboardGroupDefParser.parseKeyboardGroupDef():83 parseKeyboardGroupDef() 2132214039 -> 0_resource_name_obfuscated : WaitTime = 0 ms : RunTime = 0 ms
09-12 12:23:29.334 I/AbstractOpenableExtension( 3316): AbstractOpenableExtension.createKeyboardGroupManagerListenableFuture():120 Create keyboard group manager listenable future in fqn
09-12 12:23:29.334 I/KeyboardGroupDefParser( 3316): KeyboardGroupDefParser.parseKeyboardGroupDef():83 parseKeyboardGroupDef() 2132214033 -> 0_resource_name_obfuscated : WaitTime = 0 ms : RunTime = 0 ms
09-12 12:23:29.334 I/KeyboardModeManager( 3316): KeyboardModeManager.setInputViewKeyboardViewHolderProvider():620 setInputView() : supportsOneHandedMode=false supportsSplitMode=true
09-12 12:23:29.334 I/KeyboardGroupDefParser( 3316): KeyboardGroupDefParser.parseKeyboardGroupDef():83 parseKeyboardGroupDef() 2132214040 -> 0_resource_name_obfuscated : WaitTime = 0 ms : RunTime = 1 ms
09-12 12:23:29.335 F/libc (18023): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 18046 (GLThread 1196), pid 18023 (txori.ZGEBullet)
09-12 12:23:29.338 I/NormalModeController( 3316): NormalModeController.getKeyboardBodyViewHolderPaddingBottom():102 currentPrimeKeyboardType:SOFT systemPaddingBottom:-1
09-12 12:23:30.100 F/DEBUG (18055): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-12 12:23:30.100 F/DEBUG (18055): Build fingerprint: 'google/sargo/sargo:12/SP2A.220505.008/8782922:user/release-keys'
09-12 12:23:30.100 F/DEBUG (18055): Revision: 'MP1.0'
09-12 12:23:30.100 F/DEBUG (18055): ABI: 'arm64'
09-12 12:23:30.100 F/DEBUG (18055): Timestamp: 2024-09-12 12:23:29.429384315+0200
09-12 12:23:30.100 F/DEBUG (18055): Process uptime: 0s
09-12 12:23:30.100 F/DEBUG (18055): Cmdline: com.txori.ZGEBullet
09-12 12:23:30.100 F/DEBUG (18055): pid: 18023, tid: 18046, name: GLThread 1196 >>> com.txori.ZGEBullet <<<
09-12 12:23:30.100 F/DEBUG (18055): uid: 10572
09-12 12:23:30.100 F/DEBUG (18055): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
09-12 12:23:30.100 F/DEBUG (18055): Cause: null pointer dereference
09-12 12:23:30.100 F/DEBUG (18055): x0 0000007a5d459ac6 x1 0000007b0ef4fd90 x2 0000000000000000 x3 0000000000000000
09-12 12:23:30.100 F/DEBUG (18055): x4 0000000000000003 x5 00000079e62c0720 x6 0000000000000000 x7 0000000000000000
09-12 12:23:30.100 F/DEBUG (18055): x8 0000007d0bca1e05 x9 67ed2932d4dc32a6 x10 67ed2932d4dc32a6 x11 0000000000000000
09-12 12:23:30.100 F/DEBUG (18055): x12 0000000000000019 x13 000000003ee11f59 x14 0000000000000001 x15 0000007a5de16d70
09-12 12:23:30.100 F/DEBUG (18055): x16 0000000000000001 x17 0000007a5d8f2104 x18 00000079e5312000 x19 00000079e62c2000
09-12 12:23:30.100 F/DEBUG (18055): x20 0000000000000003 x21 0000007ceefbc180 x22 0000000000000000 x23 0000007a44e11210
09-12 12:23:30.100 F/DEBUG (18055): x24 0000007a556e23f8 x25 0000000000000001 x26 0000007a556e25b8 x27 0000000000000001
09-12 12:23:30.100 F/DEBUG (18055): x28 00000079e62c0dc0 x29 00000079e62c0750
09-12 12:23:30.100 F/DEBUG (18055): lr 00000079e72d5c94 sp 00000079e62c0720 pc 0000007a5d9a74c8 pst 0000000060000000
09-12 12:23:30.100 F/DEBUG (18055): backtrace:
09-12 12:23:30.100 F/DEBUG (18055): #00 pc 00000000005a74c8 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallStaticObjectMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list) (.__uniq.99033978352804627313491551960229047428.llvm.10145813973330161544)+64) (BuildId: 3b4ed3e67a9a04e3a37d259cd59da05b)
09-12 12:23:30.100 F/DEBUG (18055): #01 pc 0000000000042c90 /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/libzgeandroid.so (BuildId: 57942bb6557950301e6b6d8b2d7bf65e0cc3164c)
09-12 12:23:30.129 W/ActivityTaskManager( 2044): Force finishing activity com.txori.ZGEBullet/org.zgameeditor.ZgeActivity
09-12 12:23:30.180 I/WindowManager( 2044): WIN DEATH: Window{f96ae7e u0 com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}
09-12 12:23:30.180 I/libprocessgroup( 2044): Successfully killed process cgroup uid 10572 pid 18023 in 0ms
09-12 12:23:30.180 W/InputManager-JNI( 2044): Input channel object 'f96ae7e com.txori.ZGEBullet/org.zgameeditor.ZgeActivity (client)' was disposed without first being removed with the input manager!
09-12 12:23:30.191 I/ActivityManager( 2044): Process com.txori.ZGEBullet (pid 18023) has died: fg TOP
09-12 12:23:30.191 E/ClientCache( 756): failed to get buffer, invalid process token
09-12 12:23:30.192 E/BpTransactionCompletedListener( 756): Failed to transact (-32)
09-12 12:23:30.261 W/InputManager-JNI( 2044): Input channel object 'd573ecd Splash Screen com.txori.ZGEBullet (client)' was disposed without first being removed with the input manager!
09-12 12:23:30.635 W/ActivityTaskManager( 2044): Activity top resumed state loss timeout for ActivityRecord{96a5df6 u0 com.txori.ZGEBullet/org.zgameeditor.ZgeActivity t-1 f}}
09-12 12:23:30.635 W/NotificationCenter( 3316): NotificationCenter$NotificationQueue.notifyOnExecutor():847 Heavy notify work detected on UI thread: [kik->mmg] takes 39ms
The 64-bit version is failing at loading, as it hangs after loading libzgeandroid.so but does not proceed with libZgeBullet.so. But why?
The only JNI Call Fails are:
F/DEBUG (18055): #00 pc 00000000005a74c8 /apex/com.android.art/lib64/libart.so
F/DEBUG (18055): #01 pc 0000000000042c90 /data/app/.../libzgeandroid.so (same as before)
There are no reference to libZgeBullet.so