文档章节

quick-cocos2d-x的c++层真机调试

盐小咸
 盐小咸
发布于 2016/03/25 12:11
字数 523
阅读 32
收藏 0

最近在项目中碰到在特定手机上会卡住问题,初步怀疑是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
博文 35
码字总数 10167
作品 0
东城
CTO(技术副总裁)
私信 提问
游戏开发之--开源软件1--cocos2d-x(c++)|openbor

Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于Cocos2d-iphone,支持 WOPhone, iOS 4.1, Android 2.1 及更高版本, WindowsXP & Windows7,WindowsPhon...

donghan
2013/11/04
0
0
基于Cocos2d的MMORPG开发经验

这次跟大家分享的是《基于Cocos2d-x的回合MMORPG开发经验》,我们主要是以LUA和C++来开发项目,使用两者的原因之一是LUA和C++语法简单,并且LUA开发稳定性好,不容易造成崩溃,而且它支持在线...

欧阳俊文
2013/09/27
0
0
ScutSDK 0.9 版本发布

ScutSDK 简介: ScutSDK 是和 Scut 游戏服务器引擎,简化客户端开发的配套 SDK,她彻底打通了 Scut 开源游戏服务器引擎与客户端引擎(如Cocos2d-x/Quick-x/Unity3D)项目间的通信,进而实现整...

ScutGame
2013/12/21
1K
0
ubuntu下eclipse调试cocos2dx报错

新手第一次在ubuntu13.10 eclipse4.4 cocos2dx2.2下开发 想用eclipse调试c++,建了一个helloworld工程后,按照官网的方法一步步设置 原文地址,需要翻墙(http://www.cocos2d-x.org/wiki/How...

零点三六
2014/02/24
261
0
Cocos2d-x 2.0 之 Actions “三板斧” 之三

[Cocos2d-x 相关教程来源于红孩儿的游戏编程之路 CSDN 博客地址: http://blog.csdn.net/honghaier ] 红孩儿Cocos2d-X学习园地QQ2群:44208467 加群写:Cocos2d-x 红孩儿Cocos2d-X学习园地Q...

长平狐
2013/03/19
3K
0

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
3
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
2
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
3
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部