Android NDK调试C++源码(转)

【原创文章,转载请保留或注明出处,http://download.csdn.net/download/bigmaxim/5474055

1. 相关软件

adt-bundle-windows-x86.zip --- Eclipse集成ADT插件,需要联网安装相应的Android SDK。

jdk-6u43-windows-i586.exe --- JDK6 Eclipse运行需要JAVA环境,编译ANDROID应用也需要JAVA编译器。

android-ndk-r8e-windows-x86.zip --- NDK r8e,支持在ANDROID应用中用C语言进行开发。说明:ndk-build可以不需要cygwin环境。

Cygwin --- 使用ndk-gdb调试C源码,需要Cygwin环境的支持。

2. WinXP系统环境变量配置

ADB_PATH=D:\GreenProgram\adt-bundle-windows-x86\sdk\platform-tools

classpath=.;%JAVA_HOME%\lib;%JAVA_HOME\lib\tools.jar

CYGWIN_BIN=C:\cygwin\bin

ECLIPSE_PATH=D:\GreenProgram\adt-bundle-windows-x86\eclipse

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43

NDK_ROOT=D:\GreenProgram\adt-bundle-windows-x86\android-ndk-r8e

Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%NDK_ROOT%;%ADB_PATH%;%CYGWIN_BIN%;%ECLIPSE_PATH%

3. Cygwin配置

在当前用户的home目录下文件.bash_profile末尾添加以下2行

NDK_ROOT=/cygdrive/d/GreenProgram/adt-bundle-windows-x86/android-ndk-r8e

export NDK_ROOT

为方便调试程序,可添加以下一行。当启动cygwin时,直接进入项目目录。

cd /cygdrive/f/EclipseWorkspace/01_Capella/05_Test/01_L1Test/EMVTest

4. 应用工程配置

在“window –> preferences ->Android -> NDK”中添加NDK的路径。

AndroidManifest.xml文件中Debuggable设为true。

NDK编译设置:ndk-build NDK_DEBUG=1 V=1。

在android工程中的项目上点击右键,选择android tools中的add natie support,这样会增加c/c++等的编译链接选项。

5. Native方法中C源码级调试

5.1. 编译完应用,生成文件。

5.2. 右键点击工程 ->Run As->Android Application。

下载安装应用程序到开发板(或模拟器)中,并启动应用程序。

注意:这里只是要将生成的应用程序安装到开发板(或模拟器)

5.3. 启动Cygwin进入当前工程目录。

执行命令 ndk-gdb --force --verbose –start

在提示符<gdb>下输入quit退出。

在目录obj\local\ armeabi下增加了4个文件。

5.4. 右键点击工程 ->Debug As->Android Native Application。

在需要调试的位置设好断点,开始C源码级调试。

6.参考资料

http://download.csdn.net/download/bigmaxim/5474055

http://xzhoumin.blog.163.com/blog/static/408811362013230517254/

时间: 2024-11-05 10:26:39

Android NDK调试C++源码(转)的相关文章

Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的Eclipse调试smali源码就显得很无力了,因为核心的都在native层,Android中一般native层使用的是so库文件,所以我们这篇就来介绍如何调试so文件的内容,从而让我们破解成功率达到更高的一层.

Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap

Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)

一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap

【Android 系统开发】 编译 Android 系统 u-boot 内核 源码 并烧写到 OK-6410A 开发板上

博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 Android 光盘 下载地址 : http://pan.baidu.com/share/link?shareid=3662728609&uk=2754759285 ; -- 光盘所含内容 : Android 引导 u-boot 源码, Android 内核 源码, Android 系统源码, 交叉编

Android 上千实例源码分析以及开源分析

Android 上千实例源码分析以及开源分析(百度云分享) 要下载的直接翻到最后吧,项目实例有点多. 首先 介绍几本书籍(下载包中)吧. 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_Android的Audio系统 08_Android的Video 输入输出系统 09_Android的多媒体系统 10_

【转】Ubuntu 14.04.3上配置并成功编译Android 6.0 r1源码

http://www.linuxidc.com/Linux/2016-01/127292.htm 终于成功把Android 6.0 r1源码的源码编译.先上图,这是在Ubuntu中运行的Android模拟器: 由于我是在Win8中安装虚拟机VMware,然后在虚拟机中安装Ubuntu进行编译,所以遇到诸多麻烦.如果直接在Linux中编译,可能会更顺利. ------------------------------------------------------------------------

设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的1

最近突然萌发了研究JDK源码的想法,所以就想到了在自己常用的Eclipse上可以调试JDK源码. 整个设置过程也很简单: 首先你要安装好JDK(我的JDK安装路径根目录是D:\Java\jdk-8u92-windows-x64),JDK安装路径里有个"src.zip"就是JDK的源码文件压缩包: 设置好环境变量的JAVA_HOME变量和PATH变量(JAVA_HOME变量值也是D:\Java\jdk-8u92-windows-x64). 然后打开Eclipse设置可以Debug模式调试

js调试系列: 源码定位与调试[基础篇]

js调试系列目录: - 如果看了1, 2两篇,你对控制台应该有一个初步了解了,今天我们来个简单的调试.昨天留的三个课后练习,差不多就是今天要讲的内容.我们先来处理第一个问题:1. 查看文章下方 推荐 这个功能所调用的函数源码其实非常简单,点放大镜选中那个推荐即可.这个  votePost(cb_entryId,'Digg')  就是推荐按钮所调用的函数了,是不是非常简单. 第二个问题,定位到函数所在文件位置.其实也是非常简单的,当然,不熟悉控制台的朋友也许不知道怎么看.我在控制台输入 voteP

查看和调试Qt源码(动态编译的QT也可进入源码)good

简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进入.有人说需要静态编译 Qt 才可以,其实不然,只需要简单的几个配置就可以搞定. 简述 Qt 版本及安装 配置 Qt Creator 源码调试 更多参考 版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820 Qt 版本及安装 Qt 针对 Win