UnsatisfiedLinkError: не удалось загрузить cocos2dcpp: findLibrary вернул null

Мы получаем много отчетов о сбоях в Google Play со следующим журналом сбоев:

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

Заранее спасибо.


person glo    schedule 20.05.2014    source источник
comment
Почему вы не подтвердили ответ?   -  person franck    schedule 21.10.2018


Ответы (3)


Couldn't load cocos2dcpp

это имя основного приложения. "libcocos2dcpp.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

person Jacky Kim    schedule 01.06.2015

сторонняя библиотека cocos2d-x поддерживает только armeabi armeabi-v7a и x86, но по умолчанию только armeabi. не удается загрузить cocos2dcpp.lib. чтобы решить проблему, просто посмотрите, какую новую библиотеку вы добавляете, поддерживаете какой вид abi и добавляете в свой application.mk, например..

APP_ABI:=armeabi armeabi-v7a x86

очистить и заново построить.

person AtwoodYen    schedule 22.04.2015

Эта ошибка возникает только тогда, когда ваш проект не получает библиотеки, на которые ссылаются... Сначала вы скомпилировали свой проект с помощью build_native.sh/build_native.py перед запуском из eclipse

person Ankit Bisht    schedule 20.05.2014
comment
Это происходит только для определенных устройств, а не для всех устройств, поэтому определенно это не проблема компиляции, и да, libcocos2dcpp.so существует в моем приложении. - person glo; 20.05.2014