Android NDK开发C语言部分的单步跟踪
2016-04-21 21:35
281 查看
先写几句,以后逐渐完善。太晚了,要下班。
术语:
AVD
NDK
SDK
ADT
adt-bundle
android strudio
x86 image
debug模式
debug编译参数
命令行起动AVD
1. 根据需要,下载自己需要的版本的开发环境。
比如,我用的是android 4.4.3,而网上,只有4.4.2,android的最后一个版本号,看来关系并不大。前面两个对上就可以了。
比如4.4对应的是api 19
android-ndk-r9d
apache-ant-1.9.3
adt-bundle-windows-x86-20131030
2. 下载这些东西,最相当困难的。要与方校长斗智斗勇。
3. 下载后,利用ndk中的Hellojin例子,开始练手。
4. adt-bundle-windows-x86-20131030 事实证明,懒,是要付出代价的。adt-bundle-windows-x86-20131030里的sdk,缺很多重要的东西。
缺:Intel HAXM
缺:Intel x86 Atom System Image
5. 想到调C代码,一定需要在Adt中Native方式来debug,而这个deubg必须用x86的AVD
6. adt-bundle-windows-x86-20131030里的sdk,无法下载缺少的东西。
6.1 所以,到网上下了更新的版本的23.1,用它把19版本的下载下来,然后考到了adt-bundle-windows-x86-20131030/sdk里。
==============================================
然后要会配AVD,选用x86
然后设置成debug模式。
然后C++ setting里,也设置成为debug模式。
然后,启动个程序,因为那个Hellojni是不成的。
新建一个Android程序,
然后Native support
写完jni部分的c代码后(学会javah的使用)
回到MainActive中,在构造函数中,或是在一个static函数中,加载.so,这一步有两个含义,除了加载,更重要的是等待gdb 服务启动。否则会出现 .. file.
然后配置native debug,开始调试。先打上断点。
对了,最重要的是,要学会加入button,在程序启动后,在从button中调用native函数,才靠谱。因为你不会知道什么时候gdbserver启动。
========================
还有网上所有的错,我都遇到了,什么 abi之类,
还有开发环境卡死在init 1%的位置。都遇到了。
========================================================
总结:最重要的是,要学会佛跳墙。
术语:
AVD
NDK
SDK
ADT
adt-bundle
android strudio
x86 image
debug模式
debug编译参数
命令行起动AVD
1. 根据需要,下载自己需要的版本的开发环境。
比如,我用的是android 4.4.3,而网上,只有4.4.2,android的最后一个版本号,看来关系并不大。前面两个对上就可以了。
比如4.4对应的是api 19
android-ndk-r9d
apache-ant-1.9.3
adt-bundle-windows-x86-20131030
2. 下载这些东西,最相当困难的。要与方校长斗智斗勇。
3. 下载后,利用ndk中的Hellojin例子,开始练手。
4. adt-bundle-windows-x86-20131030 事实证明,懒,是要付出代价的。adt-bundle-windows-x86-20131030里的sdk,缺很多重要的东西。
缺:Intel HAXM
缺:Intel x86 Atom System Image
5. 想到调C代码,一定需要在Adt中Native方式来debug,而这个deubg必须用x86的AVD
6. adt-bundle-windows-x86-20131030里的sdk,无法下载缺少的东西。
6.1 所以,到网上下了更新的版本的23.1,用它把19版本的下载下来,然后考到了adt-bundle-windows-x86-20131030/sdk里。
==============================================
然后要会配AVD,选用x86
然后设置成debug模式。
然后C++ setting里,也设置成为debug模式。
然后,启动个程序,因为那个Hellojni是不成的。
新建一个Android程序,
然后Native support
写完jni部分的c代码后(学会javah的使用)
回到MainActive中,在构造函数中,或是在一个static函数中,加载.so,这一步有两个含义,除了加载,更重要的是等待gdb 服务启动。否则会出现 .. file.
然后配置native debug,开始调试。先打上断点。
对了,最重要的是,要学会加入button,在程序启动后,在从button中调用native函数,才靠谱。因为你不会知道什么时候gdbserver启动。
========================
还有网上所有的错,我都遇到了,什么 abi之类,
还有开发环境卡死在init 1%的位置。都遇到了。
========================================================
总结:最重要的是,要学会佛跳墙。
相关文章推荐
- 神器SystemTap
- Android ADT 23.0.0无法更新到23.0.2问题解决方案
- Python 七步捉虫法
- SDKMAN:轻松管理多个软件开发套件 (SDK) 的命令行工具
- Lua编程示例(一):select、debug、可变参数、table操作、error
- C#中的两种debug方法介绍
- 用Ruby实现一个单元测试框架的教程
- Parse正式发布开源PHP SDK
- js调试工具 Javascript Debug Toolkit 2.0.0版本发布
- php debug 安装技巧
- Android NDK开发之:配置环境的详解
- 基于Android SDK-在64位Linux中使用需要注意的问题
- Android编程之SDK安装组件的离线安装方法分享
- C#调用Nero SDK刻录光盘的方法
- Lua中的异常处理pcall、xpcall、debug使用实例
- 使用科大讯飞语音SDK实现文字在线合成语音
- 在Android Studio中使用BaiduMap SDK实时获取当地位置信息
- android 微信 sdk api调用不成功解决方案
- Android开发的IDE、ADT、SDK、JDK、NDK等名词解释
- Android NDK pthreads详细使用