致命信号11(SIGSEGV)在0x00000000(代码= 1),线程655(线程-77)

时间:2013-09-14 20:58:18

标签: android cocos2d-x

我正在使用cocos2d-x开发Android应用程序。我是cocos2d-x和C ++的新手,我在Windows上,我已经按照正当程序创建了Eclipse的Cocos2d-x项目模板,将项目导入Eclipse并向其中添加了c ++功能等等......我成功了让我的应用程序在模拟器(目标API 4.1)中运行,它给了我cocos2d“HelloWorld Splash”按预期。问题是,现在我正在尝试更改我的应用程序背景图像。我在assets目录中添加了一个图像,并更改了“HelloWorldScene.cpp”中创建默认HelloWorld Sprite的代码

来自:

CCSprite* pSprite = CCSprite::create("HelloWorld.png");

为:

CCSprite* pSprite = CCSprite::create("background.jpg");

一旦我做了后者,我的模拟器在尝试运行App后崩溃,在logcat中我得到错误“致命信号11(SIGSEGV)在0x00000000(代码= 1)”,但是如果我放回默认的HelloWorld。 png它在模拟器中再次运行。

我使用cocos2d-2.0-rc2-x-2.0.1和android-ndk-r8b。此应用程序仅在4.1 API设备模拟器上运行,我无法让它在2.3.3和4.3上运行,因为它在尝试运行时崩溃。拜托,请帮助我

3 个答案:

答案 0 :(得分:3)

我想您可能忘记运行build_native.sh脚本来更新libgame.so

答案 1 :(得分:1)

  • 坚持使用png图像格式。
  • 确保将图像复制到 android项目中的资产目录。(如果这是自动发生的话 你有资源目录中的图像。)

答案 2 :(得分:1)

尝试排查图片。

  • 选择“HelloWorld.png”并在您使用的任何图像编辑器中进行修改。如果它有效,那么你知道它不是你的编辑。
  • 尝试使用与“HelloWorld.png”相同的尺寸制作背景图像,并使用与“HelloWorld.png”相同的默认设置制作PNG格式

还要确保“HelloWorld.png”在您的Assets目录中,否则您可能需要通过CCFileUtils将Assets目录添加到搜索路径

祝你好运!