zoukankan      html  css  js  c++  java
  • 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:GreenProgramadt-bundle-windows-x86sdkplatform-tools

    classpath=.;%JAVA_HOME%lib;%JAVA_HOMElib ools.jar

    CYGWIN_BIN=C:cygwinin

    ECLIPSE_PATH=D:GreenProgramadt-bundle-windows-x86eclipse

    JAVA_HOME=C:Program FilesJavajdk1.6.0_43

    NDK_ROOT=D:GreenProgramadt-bundle-windows-x86android-ndk-r8e

    Path=%JAVA_HOME%in;%JAVA_HOME%jrein;%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退出。

    在目录objlocal 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/

  • 相关阅读:
    zookeeper curator ( 实战一)
    【转】HDMI之TMDS信号
    【转】LVDS基础、原理、图文讲解
    【原】HDMI输出接口传输速率计算
    【转】 HDMI介绍与流程
    【转】 glibc detected *** corrupted double-linked list:错误的原因有如下三种可能
    【转】 ISP-镜头阴影校正(LSC)
    【转】 ISP-黑电平校正(BLC)
    【转】 ISP概述、工作原理及架构
    【转】 VGA时序及其原理
  • 原文地址:https://www.cnblogs.com/wangbin/p/4434369.html
Copyright © 2011-2022 走看看