`
836811384
  • 浏览: 550701 次
文章分类
社区版块
存档分类
最新评论

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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics