文章转自我的Github Blog CommonQ's Blog

NDK简介

NDK的好处:

1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。

Linux下NDK环境搭建

android的NDK开发需要在linux下进行: 因为需要把C/C++编写的代码生成能在arm上运行的.so文件,这就需要用到交叉编译环境,而交叉编译需要在linux系统下才能完成。安装android-ndk开发包,在google android 官网下载: 通过这个开发包的工具才能将android jni 的C/C++的代码编译成库android应用程序开发环境: 包括eclipse、java、 android sdk、 adt等。安装完之后,需要将android-ndk的路劲加到环境变量PATH中:

sudo gedit /etc/environment

在environment的PATH环境变量中添加你的android-ndk的安装路劲,然后再让这个更改的环境变量立即生效:

 source  /etc/environment

经过了上述步骤,在命令行下敲:

ndk-bulid

弹出如下的错误,而不是说ndk-build not found,就说明ndk环境已经安装成功了。

Windows下NDK环境搭建

在NDKr7开始,google的windos版NDK提供了一个ndk-build.cmd的脚本,这样就可以直接利用这个脚本编译,而不需要cygwin了。前面章节我介绍了NDK利用cygwin来进行配置(《NDK利用cygwin环境配置》),现在开始我们要与时俱进了,其实不同之处就是设置c/c++编译器的不同了。

  1. 选择你的android工程,右击选择Properties,弹出配置界面,之后再点击Builders,弹出项目的编译编译工具 列表,之后点击new,新添加一个编译器,点击之后出现添加界面,选择Program,点击ok。
  2. 出现了添加界面,我们先给编译器设置名称,如XXX_builder。
  3. 设置Location为\ndk-build.cmd
  4. 设置Working Directory为${workspace_loc:/项目名称}
    截图如下: 

  5. 切换到Refersh选项卡,给Refersh resources upon completion打上勾,选择The entire resource选项。
    截图如下: 

  6. 切换到Build Options选项卡,勾选上最后三项。再点击Specify Resource按钮,选择你的android工程的jni目录。
    截图如下: 

  7. 在编译工具列表,我们最好将我们新建的编译器置顶。选中点击Up按钮置顶。避免重复编译两次

更多相关文章

  1. Android应用程序的编译流程及使用Ant编译项目的攻略
  2. Android平台调用so库中函数的流程及一些坑
  3. android init.rc 到底在哪里?
  4. android中的反编译
  5. Android(安卓)Studio JNI javah遇到的问题
  6. 下面就介绍下Android(安卓)NDK的入门学习过程
  7. 天天记录 - 双休安装双系统并搭建环境的悲惨遭遇
  8. 使用ant优化android项目编译速度,提高工作效率
  9. 【Android(安卓)ApkTool 反编译获取源码】下载一个apk,然后获取

随机推荐

  1. Android(安卓)添加Library出现错误Error:
  2. Android(安卓)Studio第一次启动失败的解
  3. [cordova]cordova-cli@8.0.0和cordova-an
  4. Android开发之ExpandableListView: 可展
  5. arcgis for android 100.2加载离线地图随
  6. 阅读《Android(安卓)从入门到精通》(22)—
  7. Android的NestedScroll机制
  8. 【转】使用Intent将图片或文字分享到新浪
  9. 使用apktool工具遇到could not decode ar
  10. 【Android(安卓)Studio】AS 使用记录06「