【发布时间】:2012-06-12 00:01:15
【问题描述】:
我正在开发 linux + eclipse。
我已按照 wiki 提供的步骤更新了我的代码。
1º 我创建了一个新的 Eclipse 项目。 2º 我运行 hello world 并且它有效。 3º 我将旧代码放在类和资源上。 4º 我用新文件更新了 appdelegate.cpp .h 和 jni/Android.mk。 5º 编译正确。
6º 从 eclipse 启动我得到以下异常:
试图加载 lib /data/data/org.piero.game/lib/libgame.so 致命信号 11.出了点问题,但我不知道发生了什么。
相同的代码适用于 xcode 项目。
我没有得到 CCLOG 消息 con Appdelegate 构造函数,也没有在 main.cpp 上的 Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit 上。
LOGCAT:
---- 日志测试运行 HELLO WORLD ------ 06-13 18:29:07.189: D/dalvikvm(11613): 试图加载 lib /data/data/piero.corporation.nyan/lib/libgame.so 0x40f87190 06-13 18:29:07.199: D/dalvikvm(11613): 添加共享库 /data/data/piero.corporation.nyan/lib/libgame.so 0x40f87190 06-13 18:29:07.269:W/apk 路径(11613):/data/app/piero.corporation.nyan-2.apk 06-13 18:29:07.409:D/SurfaceView(11613):pckname = pipero.corporation.nyan 06-13 18:29:07.809: D/libEGL(11613): 加载 /system/lib/egl/libGLES_android.so 06-13 18:29:07.859: D/libEGL(11613): 加载 /system/lib/egl/libEGL_mali.so 06-13 18:29:07.919: D/libEGL(11613): 加载 /system/lib/egl/libGLESv1_CM_mali.so 06-13 18:29:07.929: D/libEGL(11613): 加载 /system/lib/egl/libGLESv2_mali.so - - - - - - - - - - - - - - - - - - - 好的 - - - - - - ------------------ ---- LOG TEST RUNNING TEST 将 android 文件更改为我的 ------ 06-13 18:36:31.789: D/dalvikvm(12046): 试图加载 lib /data/data/piero.corporation.nyan/lib/libgame.so 0x40f8de18 06-13 18:36:31.799: A/libc(12046): 致命信号 11 (SIGSEGV) 在 0x00000030 (code=1) - - - - - - - - - - - - - - - - - - - - 失败 - - - - - ----------------我尝试在另一台平板电脑(Android 3.2)中编译,我遇到了同样的问题。这次的日志是:
06-12 15:16:16.610:我/调试:* * 06-12 15:16:16.610:I/DEBUG:构建指纹:'asus/WW_epad/TF101:3.2.1/HTK75/WW_epad-8.6.5.13-20110925:user/release-keys' 06-12 15:16:16.610: I/DEBUG: pid: 1183, tid: 1183 >>> pipero.corp.test所以,信号 11 SEGV_MAPERR,我认为这是编译的问题,找到了库,但程序无法正确加载它。 JNI 不执行 jni_Onload。
一些想法???
提前致谢。
【问题讨论】:
-
我想你可能会发现一个 cocos2d-x 错误。通常,当您的代码可以在 xcode 和 ndk 上编译,并且仅在一个平台上收到致命信号时,这意味着框架有问题。您确实在新项目文件夹中使用 ./build_native.sh 重新构建了源代码,对吗?我没有将我的代码合并到 2.0,因为它不够稳定,并且对许多代码更改(例如 CCTouchDispatcher 被移到 CCDirector 等)没有太大帮助。
-
是的,我尝试重建 3 次。并创建一个新项目 3 次。我第一次在 XCode 项目上遇到这种情况,但第二次效果很好。我不知道有什么不同
标签: android java-native-interface shared-libraries cocos2d-x