Couldn't load cocos2dcpp - android

We have a game released in google play with many users playing it.
We keep getting crash reports (not so many) in google play that say that cococs2dcpp could not be loaded. Any idea what might cause it for some of the users?
(We have read online that it can be something related to simulators but it seems these crash reports are coming from real users on mobile devices that say in the crash report comment that the game does not open anymore)
java.lang.UnsatisfiedLinkError: Couldn't load cocos2dcpp from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.myproduct-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.myproduct-1, /vendor/lib, /system/lib]]]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:355)
at java.lang.System.loadLibrary(System.java:525)
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load cocos2dcpp: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:429)
at java.lang.System.loadLibrary(System.java:554)
So far it is reported from these devices
Galaxy Note 8.0 (konawifi)
Xperia SP (C5303)
Xperia V (LT25i)
nuclear-jw9a702
Galaxy S2 Plus (s2vep)
Galaxy Note 8.0 (kona3g)
Galaxy S Stratosphere (SCH-I405)

You need to run the command line script from the proj.android folder - python build_native.py. This generates the library you're missing.

Related

Google Play pre-launch report only, java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed

I'm seeing this error in the pre-launch report:
Caused by: b.b.a.h.h: Error loading audio file: sounds/mysound.ogg
...
Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
at android.content.res.AssetManager.openAssetFd(Native Method)
at android.content.res.AssetManager.openFd(AssetManager.java:332)
The App is working fine on a real device, and also in the emulator. It only seems to show up in the pre-launch report (all devices fail).
Has anyone come across this before?
The following StackOverflow post looks related:
java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
However I ran the command unzip -lv MyApplication.apk and it says the sound files are not compressed ("Stored" with 0%).
I also tried explicitly adding
android {
aaptOptions {
noCompress "ogg"
}
}
but to no avail.
Is this a problem with the Firebase emulators? One of the devices listed as failing matches a real device configuration that I have tested as working on a physical device.
Also, I'm using the LibGDX framework. I load the assets in the loading screen like so:
assetManager.load("sounds/mysound.ogg", Sound.class);
And then I get them using:
assetManager.get("sounds/mysound.ogg", Sound.class);

App crash on adding Realm along with SQLCipher on Samsung Galaxy S6 edge

My app crashed while adding Realm to my project with existing SQLCipher on Samsung Galaxy S6 edge but runs fine on Samsung Note 3.
Crashlogs:-
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/co.xyz.pqr.Alpha-1/base.apk"],nativeLibraryDirectories=[/data/app/co.xyz.pqr.Alpha-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libstlport_shared.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:988)
at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:173)
at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:169)
I had the exact problem and following #geisshirt comment I included this on my app's gradle file to force realm to only use 32-bit dependencies.
packagingOptions {
exclude "lib/arm64-v8a/librealm-jni.so"
}
More information can be obtained in https://realm.io/docs/java/latest/#couldnt-load-librealm-jniso

Burst of crashes

we've published our app a few days ago on Play Store. Since then, every day, we see a short burst of crashes in Crashlytics. It takes about an hour, and it generates over 200 crashes. All with same stack trace, from different devices, and all devices are rooted.
Stack trace is this (redacted):
Fatal Exception: java.lang.UnsatisfiedLinkError: Cannot load library: get_lib_extents[742]: 795 - /data/data/our.app/lib/libsomething.so is not a valid ELF object
at java.lang.Runtime.loadLibrary(Runtime.java:370)
at java.lang.System.loadLibrary(System.java:535)
Has anyone f you seen something like that? What is it?

How to add launcher.apk to the system/app in android firmware

My app is running well when I added it in data/app location but when I pushed it in system/app it's not working properly, it throws the error
08-08 05:15:35.451: E/VLC/LibVLC(5116): Can't load vlcjni library: java.lang.UnsatisfiedLinkError: Couldn't load vlcjni from loader
dalvik.system.PathClassLoader[dexPath=/system/app/myapp.apk,libraryPath=/data/app-lib/myapp]: findLibrary returned null
I have successfully compiled libVlc for android and it's working fine except I mentioned above. Do I need to sign the myapp.apk with firmware key? Or is there any set of permissions that I need to add?

Renderscript support v8: Couldn't load RSSupport: findLibrary returned null

I tested the renderscript on my devices (Nexus 4/5/S, Samsung I747). But when I release the beta to people, I collected crashes from various devices, and they're all ARM chip.
Please see the affected devices:
http://crashes.to/s/b7578ea44e5
This is the error:
android.support.v8.renderscript.o: Error loading RS jni library: java.lang.UnsatisfiedLinkError: Couldn't load RSSupport: findLibrary returned null
at android.support.v8.renderscript.RenderScript.shouldThunk()
at android.support.v8.renderscript.RenderScript.shouldThunk()
at com.xyang.android.timeshutter.model.imageprocessing.BaseTwoPassFilterEdgeDetector.()
at com.xyang.android.timeshutter.model.imageprocessing.SobelEdgeDetector.()
at com.xyang.android.timeshutter.model.BaseBitmapPersistentHelper.getBitmap()
at com.xyang.android.timeshutter.model.BitmapPersistentHelper.cropAndSave()
at com.xyang.android.timeshutter.model.BitmapPersistentHelper.readCompressedImageDataFromUri()
at com.xyang.android.timeshutter.app.capture.FreeCropFragment.onClick()
at android.view.View.performClick(View.java:4100)
at android.view.View$PerformClick.run(View.java:17021)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4788)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:541)
at dalvik.system.NativeStart.main(NativeStart.java)
I know there're some bug for the Intel x86 devices, but why ARM devices also get this link error?
It looks like you didn't include the JNI libraries as part of your application package. Please check that you didn't accidentally strip them. You should have libRSSupport.so, librsjni.so, as well as a librs..so for each user script you have in your application. These should exist under the lib/armeabi-v7a directory for any ARM device. There should also be similar subdirectories for x86/mips.

Categories

Resources