UnsatisfiedLinkError on Released Game

can you check your $PROJECT_ROOT/proj.android/app/jni/Application.mk

if include APP_PLATFROM, and what’s the value

I was never sure what that should be set to (maybe should be same as MIN_SDK?), I left it as the default.
APP_PLATFORM := android-9

We’re using NDK 16b
We tried more recent versions, had lots of issues, I thought this was the most recent version that works with Cocos.

gradle.properties:
PROP_COMPILE_SDK_VERSION=27
PROP_MIN_SDK_VERSION=19
PROP_TARGET_SDK_VERSION=27
PROP_BUILD_TOOLS_VERSION=27.0.1
PROP_APP_ABI=armeabi-v7a:x86
PROP_BUILD_TYPE=ndk-build

I have the same issue, it appeared after I have upgraded to the latest sdkbox version.

I have upgraded SdkBox 2.4.0.0 up to 2.4.1.1 version, and now see a lot of UnsatisfiedLinkError’s on google play that are related to SDKBox.init call. I’ve never saw such a sdkbox errors before this update.

  1. can you share your app’s google play link,
  2. can you share your ndk compile config.

NDK: r16b

APP_PLATFORM := android-15
APP_ABI := armeabi-v7a

PROP_COMPILE_SDK_VERSION=26
PROP_MIN_SDK_VERSION=15
PROP_TARGET_SDK_VERSION=26
PROP_BUILD_TOOLS_VERSION=27.0.3

Game on Google Play

Copyright © 2016-2018 SDKBOX Inc. v1.0.2.0
installed packages:
v2.4.1.1 admob
v2.4.1.1 iap
v2.4.1.1 facebook
v2.4.1.1 googleplayservices
v2.4.1.1 review

Additionally I have another new issue I think it is related to review plugin:

android.view.WindowManager$BadTokenException
org.codechimp.apprater.AppRater.showRateAlertDialog

  android.view.WindowManager$BadTokenException: 
  at android.view.ViewRootImpl.setView (ViewRootImpl.java:793)
  at android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:356)
  at android.view.WindowManagerImpl.addView (WindowManagerImpl.java:93)
  at android.app.Dialog.show (Dialog.java:330)
  at org.codechimp.apprater.AppRater.showRateAlertDialog (AppRater.java:394)
  at org.codechimp.apprater.AppRater.tryShowDialog (AppRater.java:225)
  at com.sdkbox.plugin.PluginReview$1.run (PluginReview.java:58)
  at android.os.Handler.handleCallback (Handler.java:790)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6626)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:811)

confirm bug with sdkbox 2.4.1.1 java.lang.UnsatisfiedLinkError: at com.sdkbox.plugin.SDKBox.nativeInit (Native Method) on devices:

  • Samsung Galaxy J5 Prime (on5xelte), Android 8.0
  • Samsung Galaxy S6 (zeroflte), Android 7.0
  • Samsung Galaxy S8 (dreamlte), Android 8.0
  • Samsung Galaxy J7 (j7y17lte), Android 7.0
  • Xiaomi Redmi Note 5A (ugg), Android 7.1
  • Xiaomi Mi A1 (tissot_sprout), Android 8.1

We have Xiaomi Mi A1 on 8.1 but can’t reproduce this bug. We will add crashlytics to onLoadNativeLibraries

did you get this excepiton when app launch? @angelvet

I didn’t have this crash personally. I have a lot of them on google play console. I assume it has happening when user closes review dialog not by tapping any of review dialog buttons but maybe hardware back button. Also I’m displaying review dialog only after some in-game events, never at app launch.

Here is a bug with SDKBox-core, different architectures in different schema folders:

armeabi in armeabi-v7a
armeabi-v7a in armeabi

.

if you do not want to update whole plugin, you can download http://download.sdkbox.com/installer/v1/sdkbox-adcolony_v2.4.2.0.tar.gz, then replace the project android/jni/sdkbox folder with `sdkbox-adcolony_v2.4.2.0/plugin/android/jni/sdkbox/ .

Thanks,

2018.11.30 UPDATE:
or switch the armeabi and armeabi-v7a folder.

Hi yinjimmy,

I have upgraded SDKBox to the latest versions (v2.4.2.0). Unfortunatelly the problem is still remains

java.lang.UnsatisfiedLinkError
com.sdkbox.plugin.SDKBox.nativeInit

I hope the issue will be found soon. Thanks

How did you confirm that this crash is in version 2.4.2.0 ?
Did the players update your game ?

yep, i have this bug too with 2.4.2.0, but i forgot to init crashlytics before SDKBOX =) Crashlytics logs will be with next release, but i’m not sure they will help

Yes, players keep updating. GooglePlay console can filter real-time crashes by release version. And latest game release that built with latest SDKBox still has that bug

Do you add isTaskRoot checking like the sample here https://github.com/cocos2d/cocos2d-x/blob/v3/templates/cpp-template-default/proj.android/app/src/org/cocos2dx/cpp/AppActivity.java

1 Like

yes, we have this
21

SDKBox.init is in super.onCreate(savedInstanceState);

and we should put super.onCreate(savedInstanceState); after that checking?

could you plz try it?

ok, we will try