android ndk8 编译环境搭建及hellojni测试

参考文档:

http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html

http://blog.csdn.net/cboy017/article/details/8455629


为何要用到NDK?

我们正常的android应用开发是用不到NDK的开发的,SDK开发就够了,正常开发环境也就eclipse+sdk+adt就OK了。

但是,如果遇到一些移植的C/C++功能模块的时候,NDK的开发就显得尤为便捷。

概括来说主要分为以下几种情况:

1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。

2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。

3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。


到主页下载NDK

http://developer.android.com/tools/sdk/ndk/index.html

我们从安装说明中也可以看到需要安装cywin1.7以上的是为了c/c++代码的交叉编译

http://www.cygwin.com/


下载NDK后,在eclipse->preferences->android->ndk中选择正确的路径



安装cywin


编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示)其它均为默认状态。

(其实NDK需要的不多,主要autoconf2.1、automake1.10、binutils、gcc-core、gcc- , g++、gcc4-core、

gcc4-g++、gdb、pcre、pcre-devel、gawk、make )

下载完成时间决定于你选择的安装包数量及网络连接速度。


配置cygwin

在命令行中进入cygwin目录,并执行cygwin.bat,如果你不是用Administrator账号登录的系统,那么会在cygwin 安装目录 \home\

文件夹中生成一个以你的登录名命名的新的文件夹。

修改新生成文件夹中的“.bash_profile ”文件,用UE或editplus等文本编辑器打开,

在最后增加: (d/android-ndk-r8是安装ndk的路径)

NDK_ROOT=/cygdrive/d/eclipse/android-ndk-r8e

export NDK_ROOT

然后保存关闭。




好的到目前为止ndk的编译环境是安装搭建完毕了。


我们现在来导入ndk sample中的jni工程


cygwin还没有派上用场,现在就利用它来编译c++,在项目上点击 右键,在工程的属性 builders中new 一个编译规则:


按照下面的设置

Location:D:\cygwin\bin\bash.exe

Working Directory:D:\cygwin\bin

Arguments:--login -c "cd  /cygdrive/d/eclipse/android-ndk-r8e/samples/hello-jni&&$NDK_ROOT/ndk-build"



然后在Build Options进行设置


最后然后将NDK_Builder移到最上面


最后编译工程,编译成功后显示成功生成了*.so库文件,运行OK





可能有同学队这个JNI工程有疑问,按个JNI中的头文件是如何而来的,或者我重新建一个NDK工程师如何开始的,请见该博客:


http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值