cocos2d-x 3.14.1にcrashlyticsNdkを設定すると起動時に落ちる。
エラー内容
06-19 15:49:09.103 2709 2709 E AndroidRuntime: Process: jp.hogehogehoge.appgame, PID: 2709
06-19 15:49:09.103 2709 2709 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/jp.hogehogehoge.appgame-1/base.apk"],nativeLibraryDirectories=[/data/app/jp.hogehogehoge.appgame-1/lib/arm64, /data/app/jp.hogehogehoge.appgame-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libMyGame.so"
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at java.lang.Runtime.loadLibrary(Runtime.java:367)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1076)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:249)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:265)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at org.cocos2dx.cpp.AppActivity.onCreate(AppActivity.java:78)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6271)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.app.ActivityThread.access$900(ActivityThread.java:154)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.os.Looper.loop(Looper.java:224)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5526)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
06-19 15:49:09.103 2709 2709 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
06-19 15:49:09.106 1684 3217 D ActivityManager: New dropbox entry: jp.hogehogehoge.appgame, data_app_crash, 6fa473a2-d026-4d98-adb5-91388ac003df
06-19 15:49:09.107 1684 3217 W ActivityManager: Force finishing activity jp.hogehogehoge.appgame/org.cocos2dx.cpp.AppActivity
設定した内容(設定する前は落ちなかった
proj.android-studio/app/build.gradleに下記追記
compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.5@aar') {
transitive = true;exclude module: 'fabric'
}
※twitterのライブラリと衝突するためexclude module: 'fabric' しています。
proj.android-studio/app/src/org/coco2dx/cpp/AppActivity.java
import com.crashlytics.android.ndk.CrashlyticsNdk;
〜
protected void onCreate(Bundle savedInstanceState) {
Fabric.with(this, new Crashlytics(), new CrashlyticsNdk(), new Answers());
〜
crashlyticsNdkを入れる前のcrashlyticsとanswersは問題なく動いていました。