【发布时间】:2015-04-27 00:33:22
【问题描述】:
我正在尝试在 android 设备上运行我的 cocos2d-x 游戏,它在 android 5.0(lollipop) 上运行良好,但在较低的 android 版本上崩溃。我收到以下错误:
02-25 10:41:09.787: E/ResourceType(18090): 0x5ad385b8: ResTable::remove() cookie = 0x3 失败,不是最后一个表。 mHeaders.size() = 4。垃圾收集器运行时自发崩溃的警告。 02-25 10:41:09.797: E/asset(18090): 删除运行时皮肤资源时出错 (cookie 0x3) 02-25 10:41:09.797: I/asset(18090): 删除所有运行时皮肤资源时出现问题 02-25 10:41:09.817: D/dalvikvm(18090): 试图加载 lib /data/app-lib/com.example.game-2/libcocos2dcpp.so 0x418c9ce8 02-25 10:41:09.817: E/dalvikvm(18090): dlopen("/data/app-lib/com.example.game-2/libcocos2dcpp.so") 失败: dlopen 失败: 找不到符号“libcocos2dcpp.so”引用的“atof”... 02-25 10:41:09.817: W/dalvikvm(18090): 异常 Ljava/lang/UnsatisfiedLinkError;初始化 Lcom/example/game/game 时抛出; 02-25 10:41:09.817: W/dalvikvm(18090): 类初始化在 newInstance 调用中失败 (Lcom/example/game/game;) 02-25 10:41:09.817: D/AndroidRuntime(18090): 关闭 VM 02-25 10:41:09.817: W/dalvikvm(18090): threadid=1: 线程以未捕获的异常退出 (group=0x415af8b0) 02-25 10:41:09.827:E/AndroidRuntime(18090):致命异常:主要 02-25 10:41:09.827: E/AndroidRuntime(18090): java.lang.UnsatisfiedLinkError: dlopen 失败: 找不到“libcocos2dcpp.so”引用的符号“atof”... 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 java.lang.Runtime.loadLibrary(Runtime.java:361) 示例 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 java.lang.System.loadLibrary(System.java:525) 02-25 10:41:09.827: E/AndroidRuntime(18090): at com.example.game.game.(game.java:126) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 java.lang.Class.newInstanceImpl(Native Method) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 java.lang.Class.newInstance(Class.java:1130) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.app.Instrumentation.newActivity(Instrumentation.java:1061) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2178) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2311) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.app.ActivityThread.access$600(ActivityThread.java:149) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.os.Handler.dispatchMessage(Handler.java:99) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.os.Looper.loop(Looper.java:137) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 android.app.ActivityThread.main(ActivityThread.java:5214) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 java.lang.reflect.Method.invokeNative(Native Method) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 java.lang.reflect.Method.invoke(Method.java:525) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739) 02-25 10:41:09.827: E/AndroidRuntime(18090): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 02-25 10:41:09.827: E/AndroidRuntime(18090): at dalvik.system.NativeStart.main(Native Method)。
我正在使用 cocos2d-x v2.2.6、Eclipse-Luna 和 android NDK r10d。
【问题讨论】:
-
此解决方案可能会对您有所帮助。自己添加 atof 实现。 stackoverflow.com/a/38499898/5235238
标签: android cocos2d-x cocos2d-x-2.x