cocos在android 上调试,c – 如何在android设备上调试cocos2d-x 3本机代码

以下是在Android设备上调试cocos2d-x 3.x的逐步教程.如果您以更好的方式进行操作,请更正或优化我的步骤.

> cd proj.android

> cocos compile -p android -m debug –ndk-mode NDK_DEBUG = 1(使用debug信息构建)

> cocos运行-p android -m调试在设备上部署(有时它重建,我不知道为什么).此命令卸载以前的安装,安装新的安装程序,并在设备上运行该应用程序.

>确保在proj.android/libs/armeabi目录中有以下文件gdb.setup,gdbserver,libcocos2dcpp.so

>还要确保在/proj.android/jni/obj/local/armeabi目录中有app_process,gdb.setup,libc.so,linker

> ndk-gdb(重要的是这个应该在project目录下调用,不在jni目录下)

如果它工作,那么恭喜!但在这一步您可能会看到这样的错误信息:

Nareks-MacBook-Pro:proj.android Narek$ndk-gdb

jni/Android.mk:67: *** Android NDK: Aborting. . Stop.

ERROR: The device does not support the application's targetted cpu ABIs!

Device supports: armeabi-v7a armeabi

Package supports: Android NDK:

别担心:)让我们看看有什么问题:

>这里是在项目的jni目录中调用的ndk-build DUMP_APP_ABI命令的结果:

Nareks-MacBook-Pro:jni Narek $ndk-build DUMP_APP_ABI

Android NDK:/Users/Narek/NoorGames/Games/test2/proj.android/jni/Android.mk:找不到带标签的模块.在导入路径

Android NDK:您确定您的NDK_MODULE_PATH变量是否已正确定义?

Android NDK:搜索以下目录:

Android NDK:

/Users/Narek/NoorGames/Games/test2/proj.android/jni/Android.mk:67:*** Android NDK:中止. .停止.

可以看到NDK_MODULE_PATH丢失了.为了获得该值,请执行以下操作.转到编译代码的步骤.在执行命令cocos的第一个linse中编译-p android -m debug –ndk-mode NDK_DEBUG = 1,你可以看到这样的东西:

Runing command: compile

Building mode: debug

building native

NDK build mode: NDK_DEBUG=1

The Selected NDK toolchain version was 4.8 !

running: '/Users/Narek/NoorGames/android-ndk-r9d/ndk-build -C /Users/Narek/NoorGames/Games/test2/proj.android -j1 NDK_MODULE_PATH=/Users/Narek/NoorGames/Games/test2/proj.android/../cocos2d:/Users/Narek/NoorGames/Games/test2/proj.android/../cocos2d/cocos:/Users/Narek/NoorGames/Games/test2/proj.android/../cocos2d/external'

>从上面的日志复制你看到NDK_MODULE_PATH的必要值.执行以下命令export NDK_MODULE_PATH = / Users / Narek / NoorGames / Games / test2 / proj.android /../ cocos2d:/Users/Narek/NoorGames/Games/test2/proj.android /../ cocos2d / cocos:/用户/ Narek / NoorGames /游戏/ test2 / proj.android /../ cocos2d / external(请注意复制您的路径不是我的)

而已.现在在设备上运行游戏,cd proj.android,调用ndk-gdb,你应该能够使用gdb进行调试.

我亲自找了这种教程已经20多天了.我希望你喜欢你的调试. :)感谢您@VikasPatidar的帮助与ndk-build DUMP_APP_ABI步骤!

EDIT1:作为评论的Vikas,您可以在Android.mk文件中添加NDK_MODULE_PATH,如下所示:

NDK_MODULE_PATH := $(LOCAL_PATH)/../../../../cocos

NDK_MODULE_PATH += $(LOCAL_PATH)/../../../../external

EDIT2:如果您的应用程序在这里崩溃是一个非常强大和容易的方法来通过防止直接调试来调查问题:

adb logcat | $NDK_ROOT/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi

它打印崩溃转储.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值