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

Мы получили много сообщений о сбоях в 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

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

2

Решение

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

4

Другие решения

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

APP_ABI: = armeabi armeabi-v7a x86

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

3

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

1
По вопросам рекламы [email protected]