on 09-20-2018 4:57 PM
Hi everyone,
we've added Kapsel to our UI5 application. When I use this application on my Samsung S4 Mini everything is working fine.
If I try to use it on my Samsung S8 it stop working "silently". When I say "silently" I mean that the app does not crash but it does not work (it's blocked on the OData syncronization dialog in a loop).
I don't see any error on the JS side but I see an error on the Android side.
The error that I see is this one:
E/SMP_LOGON: Certificate info of certificate retrieved from Logon Manager is null
E/SMP_AUTH_PROXY: Getting certificate from Logon Manager failed due to InvocationTargetException: null
I/com.sap.smp.authflows: [group: com.sap.smp.sdk.android] [artifact: HttpConvAuthFlows] [version: 3.15.3] [buildTime: 2017:07:19:12:13] [gitCommit: 48bd516ede62773b0ecb863646c41130c7767c29] [gitBranch: n/a]
D/shim: loading shared libraries
W/System.err: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/base.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_dependencies_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_resources_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_0_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_1_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_2_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_3_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_4_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_5_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_6_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_7_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_8_apk.apk", zip file "/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/lib/arm64, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/base.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_resources_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.techedge.mfspp-H-1jvpRUjO-CftPguTjTvA==/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]] couldn't find "libodataofflinejni.so"
W/System.err: at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
at java.lang.System.loadLibrary(System.java:1657)
W/System.err: at com.sap.smp.client.odata.offline.common.OfflineStore.load(OfflineStore.java:78)
W/System.err: at com.sap.smp.client.odata.offline.common.OfflineStore.<clinit>(OfflineStore.java:67)
W/System.err: at com.sap.mp.cordova.plugins.odata.OData.openOfflineStore(OData.java:264)
W/System.err: at com.sap.mp.cordova.plugins.odata.OData.execute(OData.java:130)
W/System.err: at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
W/System.err: at org.apache.cordova.PluginManager.exec(PluginManager.java:132)
W/System.err: at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:57)
W/System.err: at org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
W/System.err: at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:325)
W/System.err: at android.os.Looper.loop(Looper.java:142)
at android.os.HandlerThread.run(HandlerThread.java:65)
So when I saw "couldn't find "libodataofflinejni.so" I understood that Kapsel is also installing some c++ compiled library.
I searched inside the source code and I saw this:
The library exists but only for the x86 and armeabi-v7a architecture.
In the case of Samsung S8, it uses arm64-v8a architecture. I think that android, when it does not find the .so lib in the correct folder (that is missing in this case) is falling back to the armeabi folder. That is also missing.
Do you know if I can find and updated Kapsel SDK that is shipping the armeabi / arm64-v8a libs?
So as I tought the current SAP MDK (event the 3.1) does not support newest CPU architectures like the one used for Samsung S8 arm64-v8a.
Usually you have two options if you encounter this problem:
Unfortunately we're on the second case (the not optimized one) so the only thing we can do is to "forse" gradle to build one build-flavor that will use and mix both the x86 libs and armeabi-v7a.
You can do that editing the gradle.build file productFlavors code and adding this part in the defaultConfig
android {
...
defaultConfig {
...
ndk {
abiFilters "x86", "armeabi-v7a"
}
}
...
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, what version of Kapsel SDK are you using?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.