不满意的链接错误: 无法加载 cocos2dcpp: 查找库返回空

UnsatisfiedLinkError: Couldn't load cocos2dcpp: findLibrary returned null

本文关键字:查找 cocos2dcpp 返回 加载 链接 错误 不满意      更新时间:2023-10-16

我们在谷歌上收到了很多关于以下崩溃日志的崩溃报告:

java.lang.ExceptionInInitializerError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1409)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1572)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1674)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3733)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:931)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)
at dalvik.system.NativeStart.main(Native Method)
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)
at com.xx.xxx.xxxx.<clinit>(xxxx.java:173)
... 15 more

此错误仅发生在android 2.3.3-2.3.7版本的设备上。这似乎是一个常见问题,但没有人有解决方案。有人解决了这个问题吗。

报告此问题的一些链接是:

http://www.cocos2d-x.org/forums/6/topics/45833

http://www.cocos2d-x.org/forums/6/topics/42570

提前谢谢。

Couldn't load cocos2dcpp

这是主应用程序的名称。"libcocos2dcp.so">

你可以在AndroidManifest.xml 中找到这个

<!-- Tell Cocos2dxActivity the name of our .so -->
    <meta-data android:name="android.app.lib_name"
              android:value="cocos2dcpp" />

此外,在proj.android/jni/android.mk 中

LOCAL_MODULE_FILENAME := libcocos2dcpp

我猜您更改了Android.mk 中的模块名称

cocos2d-x的第三方库只支持armeabi armeabi-v7a&x86,但默认情况下只有armeabi,当您向项目中添加其他库时,它们可能不仅仅为armeabi构建,所以当您链接项目时,系统可能无法加载cocos2dcpp.lib。要解决这个问题,只需查看您添加的支持哪种abi的新库,然后添加到您的应用程序.mk中,如。。

APP_ABI:=armeabi armeabi-v7a x86

清洁并重新构建。

只有当您的项目没有获得引用的库时才会发生此错误。。。在从eclipse 运行之前,您是否先使用build_native.sh/build_native.py编译了您的项目