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环境变量中。






  • 相关阅读:
    一元多项式的运算
    单链表逆转
    字符串函数
    历届试题 错误票据
    不用循环,不用递归,输出1~1000的整数
    sql三维数据
    SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 (也就是跨数据库访问出错)
    由于服务器意外的断电,导致SQL SERVER服务器上数据库出现“置疑”而无法使用,
    关于delphi7的四舍五入
    关于delphi exit 继承
  • 原文地址:https://www.cnblogs.com/csnd/p/11800732.html
Copyright © 2011-2022 走看看