quick-cocos2d-x的c++层真机调试
2016-02-01 10:23
337 查看
最近在项目中碰到在特定手机上会卡住问题,初步怀疑是c++层的模块产生的。所以要在真机上调c++,如果是个cocos2d-x c++的项目还比较好调,但quick就有点麻烦了。试了几种方式都没成功。最后终于找到一个相对来说简单的方法。
1.首先被调试的手机必须是root过的。
2.将quick工程导入到eclipse。路径:%项目目录%\frameworks\runtime-src\proj.android
3.将cocos2dx的java工程做为library导入eclipse。路径:%项目目录%\frameworks\cocos2d-x\cocos\platform\android\java
4.用player或者build_apk.bat编译带debug信息apk
5.在eclipse中选中自己quick项目,将debug版本的应用安装到目标设备上。这步的目的其实就是将程序和debug需要的文件gdb.setup,gdbserver安装到设备上。本来可以用 ant debug install,但那样很麻烦。这步可能会报 "miss androidmanifest.xml",错误。不过只要稍微修改下此文件,再改回去,然后保存,就不会再报这个错了。
6.将ndk路径加入到环境变理的path目录中
7.打开命令行窗口,并进入到 %项目目录%\frameworks\runtime-src\proj.android
8.打开build_native_release.bat 将 最后的 NDK_MODULE_PATH 设置到 环境变量中。或者建个批处理 ndk-gdb-env.bat 保存在proj.android目录,内容是
@echo off
set DIR=%~dp0
set APP_ROOT=%DIR%..\..\..\
set APP_ANDROID_ROOT=%DIR%
set COCOS2DX_ROOT=%DIR%\..\..\cocos2d-x
SET NDK_MODULE_PATH=%APP_ANDROID_ROOT%;%COCOS2DX_ROOT%;%COCOS2DX_ROOT%/cocos;%COCOS2DX_ROOT%/external;%COCOS2DX_ROOT%/cocos/scripting;%APP_ANDROID_ROOT%/../Classes
@echo %NDK_MODULE_PATH%
运行这个批处理就好了。
9. 运行 ndk-gdb.py。接下来就可以调试了。
---------------------------------------------
注意:
1.gdb连接时,可能会超时,需要多连几次
2.不知道为什么,gdb的说明里说:ctrl-c 可以中断程序,但在我的机器上是不行的。所以我另起一个命令行。用adb shell进入到设备的控制台。并用 "kill -s SIGINT 进程号" 向gdb发送中断信号
3.在进行第8步时,可能会出现./obj/local/armeabi/app_process: No such file or directory。只需要 adb pull /system/bin/app_process ./obj/local/armeabi/app_process 就可以了。
---------------------------------------------
1.首先被调试的手机必须是root过的。
2.将quick工程导入到eclipse。路径:%项目目录%\frameworks\runtime-src\proj.android
3.将cocos2dx的java工程做为library导入eclipse。路径:%项目目录%\frameworks\cocos2d-x\cocos\platform\android\java
4.用player或者build_apk.bat编译带debug信息apk
5.在eclipse中选中自己quick项目,将debug版本的应用安装到目标设备上。这步的目的其实就是将程序和debug需要的文件gdb.setup,gdbserver安装到设备上。本来可以用 ant debug install,但那样很麻烦。这步可能会报 "miss androidmanifest.xml",错误。不过只要稍微修改下此文件,再改回去,然后保存,就不会再报这个错了。
6.将ndk路径加入到环境变理的path目录中
7.打开命令行窗口,并进入到 %项目目录%\frameworks\runtime-src\proj.android
8.打开build_native_release.bat 将 最后的 NDK_MODULE_PATH 设置到 环境变量中。或者建个批处理 ndk-gdb-env.bat 保存在proj.android目录,内容是
@echo off
set DIR=%~dp0
set APP_ROOT=%DIR%..\..\..\
set APP_ANDROID_ROOT=%DIR%
set COCOS2DX_ROOT=%DIR%\..\..\cocos2d-x
SET NDK_MODULE_PATH=%APP_ANDROID_ROOT%;%COCOS2DX_ROOT%;%COCOS2DX_ROOT%/cocos;%COCOS2DX_ROOT%/external;%COCOS2DX_ROOT%/cocos/scripting;%APP_ANDROID_ROOT%/../Classes
@echo %NDK_MODULE_PATH%
运行这个批处理就好了。
9. 运行 ndk-gdb.py。接下来就可以调试了。
---------------------------------------------
注意:
1.gdb连接时,可能会超时,需要多连几次
2.不知道为什么,gdb的说明里说:ctrl-c 可以中断程序,但在我的机器上是不行的。所以我另起一个命令行。用adb shell进入到设备的控制台。并用 "kill -s SIGINT 进程号" 向gdb发送中断信号
3.在进行第8步时,可能会出现./obj/local/armeabi/app_process: No such file or directory。只需要 adb pull /system/bin/app_process ./obj/local/armeabi/app_process 就可以了。
---------------------------------------------
相关文章推荐
- cocos2d-x Slider的使用
- COCOS学习笔记--序列帧动画
- 关于Cocos2d-x 3.0正式版 粒子问题在IOS上正常显示,在Android下有问题的解决方式
- 【COCOS2DX-游戏开发之三三】TMX边界控制与小窗体内预览TMX
- cocos2dx 3.3 pluginx tools文件夹分析
- cocos studio 半角空格和全角空格
- Windows7环境下搭建Cocos2d-x3.3环境并配置android交叉编译环境
- Cocos2d-x 3.x 无法打开包含文件extensions/ExtensionExport.h的解决
- Cocos2D v3.4.9粒子效果不能显示的原因分析及解决办法
- Cocos2D v3.4.9粒子效果不能显示的原因分析及解决办法
- Cocos2D v3.4.9粒子效果不能显示的原因分析及解决办法
- Cocos2d-x 3.1.1 Lua实例-AccelerometerTest(重力加速计)
- cocos2d-x Button的监听使用
- cocos2d-x 创建精灵的五种方法
- Cocos2d-x 用lambda表达式实现监听,改变精灵的透明度和层级
- cocos2d-x-3.8.1 WP8 竖屏解决办法
- Cocos移植到Android的一些问题-中文乱码问题
- 13、Cocos2dx 3.0游戏开发找小三之3.0中的Director :郝萌主,一统江湖
- cocos2dx 3.0 飞机大战
- cocos2dx中使用tiled地图实现sprite动态遮挡