报错提示如下:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.ys.ysadsense-C8d62Jm4Fwh94RL6zuZ1jA==/base.apk"],nativeLibraryDirectories=[/data/app/com.ys.ysadsense-C8d62Jm4Fwh94RL6zuZ1jA==/lib/arm64, /data/app/com.ys.ysadsense-C8d62Jm4Fwh94RL6zuZ1jA==/base.apk!/lib/arm64-v8a, /system/lib64, /hw_product/lib64, /system/product/lib64]]] couldn't find "libcocos2djs.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1067)
at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
at java.lang.System.loadLibrary(System.java:1668)
at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:480)
at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:360)
at org.cocos2dx.javascript.AppActivity.onCreate(AppActivity.java:39)
at android.app.Activity.performCreate(Activity.java:8085)
at android.app.Activity.performCreate(Activity.java:8073)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1320)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3870)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4076)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2473)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8349)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
2021-05-13 13:12:58.548 31899-31899/com.ys.ysadsense E/MgrLog: 很抱歉,程序出现异常,即将退出.
根据提示是,找不到libcocos2djs.so这个.so库,于是打个apk包解包看下里面,有好几个架构的目录,而只有armeabi-v7a目录下有libcocos2djs.so,其他的目录下都没有,根据报错提示应该是在/lib/arm64-v8a这个目录下没找到libcocos2djs.so,所以报错了。
其他两个目录下都没有
这个问题,是因为我这边接入了百度的小说SDK,那边需要支持'armeabi-v7a', 'arm64-v8a', 'armeabi'这些架构,而cocos构建时我没选用的默认支持的架构armeabi-v7a。
gradle.properties 里的配置如下
解决方案:重新构建选择需要支持的架构
构建完之后gradle.properties如下图,支持了以下架构