Android原生开发之十一:用Code::Blocks+NDK开发调试

来源:互联网 发布:ubuntu 脚本条件判断 编辑:程序博客网 时间:2024/06/08 17:29
-- 用Code::Bocok + NDK 搭建Android Native可视化开发及调试环境
记得最后一次写Android Native开的系列是去年6.1号,过去整整一年多了。虽然Android已经很火了,google为什么至今天仍然没有推出完善的NDK开发调试环境呢?!相信以后会有更多的公司会用底层的C/C++的API来开发或移植他们的产品,毕竟透过一层JNI(虽然有传说中的2.2的JIT技术)多少会能效率的损失!

Code::Blocks我就不再多提了,非常优秀的开源的跨平台C/C++开发工具,有活跃的开发人员和论坛,推荐大家下载 Nightly 版本:http://forums.codeblocks.org/index.php/board,20.0.html 进行开发。

关于Android 需要用到的源码的下载及Code::Blocks的下载配置,大家请参考前面的Blog:
  • Android原生(Native)C开发之八:Toolchain环境搭建篇(仅参考源码下载及Cygwin相关内容)
  • Android原生(Native)C开发之十:用Code::Blocks来开发(仅参考Code::Blocks的下载配置相关内容)
下载完的源码目录应如下图所示:
Android原生开发之十一:用Code::Blocks+NDK开发调试
当然,如果有条件也可以下载全部源码供研究使用。但基本的Native开发,有这些源码及头文件差不多就够了。
NDK假定是下载最新的r4b版本:http://dl.google.com/android/ndk/android-ndk-r4b-windows.zip,并解压在目录:D:\android-ndk-r4b
Cygwin请安装全新的1.7版本,旧版我没有测试,安装请参考列出的第每一个blog,安装make及python2.5(请务必安装2.5版,2.6不行)应该就差不多了。
下面开始Code::Blocks+NDK的配置,打开CodeBlocks,选择菜单“Settings->Compiler and debugger...”,在弹出的窗口中选取“GNU ARM GCC Compiler”,当然也可以Copy一个新的,但为了方便就用这个了,再进行如下设置:
  • 将“Toolchain executables”页的“Compiler's Installation directory”设置为NDK下的目录:D:\android-ndk-r4b\build\prebuilt\windows\arm-eabi-4.4.0(也可用4.2.1);
  • 将“Toolchain executables”页的“Program Files”所有arm-elf-xxx.exe改为arm-eabi-xxx.exe;
  • 在“Toolchain executables”页的“Additional Paths”加入Cygwin的bin目录,因为toolchain是用Cygwin构建的,需要Cygwin的运行库,如“D:\Cygwin\bin”。
如下图:
Android原生开发之十一:用Code::Blocks+NDK开发调试

再选中“Search directories”页的“Compiler”页,将如下目录加入列表中(假定NDK解压在D:\android-ndk-r4b目录,Android源码下载在 D:\Android\source 目录):
  • D:\android-ndk-r4b\build\platforms\android-8\arch-arm\usr\include
  • D:\Android\source\frameworks\base\include
  • D:\Android\source\system\core\include
  • D:\Android\source\hardware\libhardware\include
  • D:\Android\source\external\skia\include\core
如下图:
Android原生开发之十一:用Code::Blocks+NDK开发调试


再在“Linker”页中加入Android 2.1的库文件目录:D:\Android\libs_2.1,如何用busybox下载库文件请参考“Toolchain环境搭建篇”的Blog。
用NDK自带的gdb,调试可能会有些问题,可自已下载gdb的源码进行编译或下载 Nvidia的tegra的调试器:http://developer.download.nvidia.com/tegra/files/tegra-gdb-20100430.zip
解压后,将其中的文件 \prebuilt\windows\arm-eabi-gdb.exe 复制到目录 D:\android-ndk-r4b\build\prebuilt\windows\arm-eabi-4.4.0\bin,覆盖原文件,这是最新的 android 专用的 7.15版本的gdb,解决了很多Cygwin的目录设定的相关问题,比NDK正带的6.8版本的gdb好用。
现在基本上可以开始写程序试试编译及调试了,步骤如下:
  1. 启动 android 的模拟器,保证 adb shell 能正常运行;
  2. 建一个 android arm 的项目(已上传一个demo项目:ftest.zip),选中debug并编译,并将此文件上传到模拟器;
  3. 在命令行运行:adb forward tcp:1234 tcp:1234,将本机端口和android 模拟器端口进行转接;
  4. 在命令行运行:adb shell,进入模拟器命令行后运行:gdbsever 10.0.2.2:1234 program_name(program_name就是你的可调试的程序名);
  5. 在Code::Blocks中设置断点,启动调试,项目的属性做如下设置(选中项目点右键,在弹出菜单中选取“Properties...”),在弹出的窗口中设置如下图:

Android原生开发之十一:用Code::Blocks+NDK开发调试


转自 http://blog.sina.com.cn/s/blog_4a0a39c30100l324.html

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 打非洲鼓打的手疼怎么办 无塔供水压力小怎么办 家用增压水塔压力不稳定怎么办 蝴蝶耳堵比较紧怎么办 跑步机踏板坏了怎么办 遥控器电池没电了怎么办 空调遥控器电池没电了怎么办 想要自慰家里没有情趣用品怎么办 对政协提案的答复有意见怎么办 邻居在自建房养殖鳖怎么办 江桥全民健身卡怎么办 南翔全民健身卡怎么办 椭圆机皮带断了怎么办 不小心扭腰了怎么办 扭腰之后腿疼怎么办 扭腰怎么办吃什么补 湖州奥体中心怎么办卡 学车把教练投诉了怎么办 白球鞋鞋边发黄怎么办 公务员体检时心跳过快怎么办 老人心脏跳得慢怎么办 银行月限额10万怎么办 跑步后迎面骨疼怎么办 跑步时迎面骨疼怎么办 爬了楼梯小腿疼怎么办 走路走太多小腿酸痛怎么办 微信转账月限额怎么办 运动后小腿骨疼怎么办 用单杠练腹肌晃怎么办 一跑步小腿就紧怎么办 小腿一跑步就痛怎么办 单杠屈臂悬垂身体摆动怎么办 脸上被打了紫了怎么办 王者荣耀队友太坑怎么办 大脸不想戴泳帽怎么办 脐带掉了有血怎么办 颈椎不小心扭了怎么办 遇不到合适的人怎么办 老爸不爱吃饭身体不好怎么办 小朋友在日本旅游生病怎么办 小朋友不吃饭装生病怎么办