Мы получили много сообщений о сбоях в 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
Заранее спасибо.
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
сторонняя библиотека cocos2d-x поддерживает только armeabi armeabi-v7a & x86, но по умолчанию только armeabi, когда вы добавляете какую-то другую библиотеку в ваш проект, они могут собираться не только для armeabi, поэтому, когда вы связываете свой проект, система может не загружать cocos2dcpp.lib.
Чтобы решить эту проблему, просто посмотрите, какую новую библиотеку вы добавите, поддержите какой abi и добавьте в ваш application.mk, например ..
APP_ABI: = armeabi armeabi-v7a x86
очистить и заново построить.
Эта ошибка возникает только тогда, когда ваш проект не получает ссылки на библиотеки …
Скомпилировали ли вы свой проект с build_native.sh/build_native.py, прежде чем запускать из eclipse?