zoukankan      html  css  js  c++  java
  • Android NDK工程的编译和链接以及使用gdb进行调试

    前提条件:已经安装了JDK 6.0、android SDK、NDK r9和eclipsele4.2开发环境.


    推荐下载Android开发的综合套件adt-bundle-windows-x86,再下载Android NDK既可以开始Android NDK程序的编程了。

    1.     首先在eclipsele4.2上创建一个空的Android工程,无所谓,只要是一个Android工程就OK了。



    2.     安装NDK开发的插件com.android.ide.eclipse.ndk_23.0.2.1259578.jar



    之前的Eclipse版本是包含有这个插件的,不用自己手动安装这个插件;最新的Eclipse软件不包含有该插件,必须自己下载com.android.ide.eclipse.ndk_23.0.2.1259578.jar件,然后复制到eclipseplugins的文件夹下,关闭Eclipse软件然后重启Eclipse,再进行操作就可以出现上图的实例。




    3.     配置NDK的路径

    Eclipse的主菜单Windows—>preferences打开如下图,配置Android NDK的文件路径:




    然后进行如下的操作:




    出现如下所示,点击finish即可。




    点击完成以后,观察Android工程,会发现多生成3个文件夹,如下图所示:




    4.     Andriod NDK代码的编写

    Android NDK的开发用C或C++都可以,但是使用C或C++开发NDK时,应该使用C或C++的标准库提供的函数。



    5.在 Android.mk 文件和 Application.mk 文件中可以添加NDK编程需要支持的库,具体信息可以参考NDK编程的谷歌文档。



    Android NDK编程可以使用的C++的库:


    添加C++的库的支持:



    6.     Android NDK的动态调试



    再次编译Android工程会出现一下的错误提示:



    按下图的操作进行该错误的屏蔽,再次编译程序就不会再弹出错误提示框了。



    Android NDK的调试使用GDB程序,并且Android NDK的调试原理是使用socket进行通信的,因此必须要有客户端和服务器端,并且Android虚拟机(模拟器)要打开。要调试Android NDK程序还必须自己编写调试的debug.mkconnect.mk文件,并将这两个文件拷贝到Android NDK工程的文件目录下。


    服务器端的debug.mk文件的编写:

    客户端connect.mk文件的编写:


    Service--打开cmd程序,开启Android NDK调试的服务端


    调试服务器端,不能关闭。

    client--打开一个cmd程序开启Android NDK调试的客户端



    注意


    D:adt-bundle-windows-x86-20130219android-ndk-r9prebuiltandroid-armgdbserver(调试符号)

    D:adt-bundle-windows-x86-20130219android-ndk-r9 oolchainsarm-linux-androideabi-4.8prebuiltwindowsin(GDB)


    这两个路径要添加环境变量以后就没有出现错误了。




    Mark一下


    如果要在windows平台的cmd环境下运行make命令执行xxx.mk文件中的操作,需要将Android的NDK配置环境中交叉工具链提供的make.exe工具的路径

    D:adt-bundle-windows-x86-20130219android-ndk-r9prebuiltwindowsin

    路径添加到windows系统的path环境变量中。






  • 相关阅读:
    sklearn KMeans聚类算法(总结)
    求素数的一个快速算法 Python 快速输出素数算法
    Java方法的多态
    Java static特性
    第一周-调用weka算法进行数据挖掘
    第一周 -神经网络算法与实现
    1【西北师大-2108Java】第一次作业成绩汇总
    第一周博客作业
    十一,专著研读(CART算法)
    十,专著研读(线性回归)
  • 原文地址:https://www.cnblogs.com/csnd/p/11800732.html
Copyright © 2011-2022 走看看