Android下NDK开发环境搭建

1.     AndroidNDK安装与配置

1.1  NDK简介

Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP部分功能开发的工具,通过这个工具,我们可以把用C/C++代码编译成可以直接运行在Android平台上的本地代码,这些本地代码以动态链接库( *.so )的形式存在,也正因为这样,我们可以通过复用这些动态链接库从而复用本地代码。

那么,通过NDK这个开发工具包,那么我们是否可以将一个APK完全使用C/C++来编写呢?

答案是不可以的。众所周知,Android应用程序是运行在Dalvik虚拟机上的。而NDK只开发了部分接口,所以NDK只是允许开发人员通过C/C++实现Android APP的部分功能。由于Android系统本身就是Linux核心,NDK只是负责把这些本地代码编写成可以运行在linux上的动态链接库,从而绕过了Dalvik虚拟机,直接运行在Android平台上了。

The NDK is atoolset that allows you to implement parts of your app using native-codelanguages such as C and C++. For certain types of apps, this can be helpful soyou can reuse existing code libraries written in these languages, but most appsdo not need the Android NDK.

Before downloadingthe NDK, you should understand that the NDK will not benefit most apps. As adeveloper, you need to balance its benefits against its drawbacks. Notably,using native code on Android generally does not result in a noticableperformance improvement, but it always increases your app complexity. Ingeneral, you should only use the NDK if it is essential to your app—neverbecause you simply prefer to program in C/C++.

Typical goodcandidates for the NDK are CPU-intensive workloads such as game engines, signalprocessing, physics simulation, and so on. When examining whether or not youshould develop in native code, think about your requirements and see if theAndroid framework APIs provide the functionality that you need.

1.2  NDK下载

下载地址:http://developer.android.com/tools/sdk/ndk/index.html

图1

可以看出现在的目标平台都有32和64位之分。

1.3  NDK安装

直接把下载的安装包解压到我们想要放的路径下即可,我这里是把加压后的android-ndk-r10b(此目录下就有ndk-build.cmd编译工具)放在D:\ADT bundle目录下。

1.4  NDK环境配置

配置环境变量,把ndk-build.cmd所在的位置D:\ADT bundle\android-ndk-r10b添加系统变量Path的添加此路径信息,如下图:

图2

1.5  NDK的安装验证

完成上面的步骤之后,NDK的安装到此就完成了,下面我们来验证一下NDK安装成功与否. 打开cmd.exe,在里面输入ndk-build -version,输出以下内容,表示安装成功。

图3

1.6  NDK编译程序

现在我们用安装好的NDK来编译一个NDK提供的sample程序hello-jni(我的目录位于:D:\ADT-bundle\android-ndk-r10b\samples\hello-jni)。

(1)  进入hello-jni目录下。

(2)  直接输入命令ndk-build编译本地代码,输出以下内容,表示成功编译生成动态链接库,同时我们在hello-jni\obj\local\armeabi路径下可以看到编译好的libhello-jni.so。

图4

1.7  验证hello-jni

(1)  在Eclipse,选择File--->New--->Project,如下图:

图5

选择Android--->Android Project from ExistingCode,然后选择Next,如下图:

图6

Root Directory选择hello-jni目录,且选择Finish。在这之前记得是要先编译hello-jni且成功so文件。

(2)  打开AVD,然后选择Run--->Run As--->Android Application,运行界面如下图所示:

图7

2.     Cygwin和CDT

Cygwin:由于NDK开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要用Cygwin模拟Linux编译环境,下载地址:http://www.cygwin.com/,根据PC系统是32位还是64位系统来选择下载对应的安装文件。

android-ndk-r7-windows往上的版本都集成了cygwin,因此无需再安cygwin。所谓的集成了cygwin就是说,安装包解压后有个ndk-build.cmd命令。配置eclipse直接调这个cmd命令,完成编译。

CDT:CDT是C/C++在Eclipse平台下的开发工具.它提供的功能包括:C/C++编辑器(一些基本的功能:语法高亮显示,代码编辑等),C/C++调试器,C/C++ Launcher,剖析器,内容提示,Makefile生成器等。

Android官网下载Android的开发工具ADT(Android Development Tool的缩写),该工具集成了最新的ADT以及Eclipse,还有一个最新版本SDK。解压之后就可以用了

ADT插件:管理Android SDK和相关的开发工具的

NDK插件:用于开发Android NDK的插件,ADT版本在20以上,就能安装NDK插件,另外NDK集成了cygwin和CDT插件,我下载的android-ndk32-r10b-windows-x86_64压缩包解压后有1.4GB。

所以不需要单独下载cygwin和CDT了。我下载的是谷歌提供的ADT 绑定版,那么它已经默认安装好了相应的CDT了,打开Eclipse--->Help--->About ADT,如下图:

图8

3.     Eclipse中使用NDK

3.1  NDK配置

打开Eclipse,点Window->Preferences->Android->NDK,设置NDK路径,例如我的是:D:\ADT-bundle\android-ndk-r10b

图9

验证NDK配置是否OK可以导入一个现有的工程来验证,如1.7节描述,也可以通过新建Android工程。

3.2  CDT验证

在Eclispe中新建一个项目,如果出现了C/C++项目,则表明CDT插件安装成功了,选择File--->New--->Project,如下图:

图10

参考:

C++开发安卓、windows下搭建Android NDK开发环境

http://www.cr173.com/html/24813_1.html

Android之NDK开发

http://blog.csdn.net/loongembedded/article/details/39718283

NDK开发环境搭建_r8

http://www.cnblogs.com/baronzhao/archive/2012/07/10/2585181.html

Android新版NDK环境配置(免Cygwin)

http://blog.csdn.net/codezjx/article/details/8879670

windows下eclipseandroid-ndkr7b环境配置

http://blog.csdn.net/xinzheng_wang/article/details/7416543

Windos下Android(ADT Bundle)配置NDK的两种方法------ADT、Cygwin、NDK配置汇总

http://blog.csdn.net/yanzi1225627/article/details/16897877

Android NDK环境搭建

http://jingyan.baidu.com/article/5d6edee22d908799eadeec9f.html

Android下NDK开发环境搭建相关推荐

  1. CentOS下C++开发环境搭建

    CentOS下C++开发环境搭建 vimplus github 我的环境 CentOS 7.5 64位 环境部署 vim 编辑工具 g++ 编译器 git 版本控制 gdb 调试工具 cmake 跨平 ...

  2. ④ESP8266 开发学习笔记_By_GYC 【Ubuntu系统下ESP8266 开发环境搭建】

    目录 ④ESP8266 开发学习笔记_By_GYC [Ubuntu系统下ESP8266 开发环境搭建] 一.安装前准备 1.乐鑫官方的ESP-IDF 编程指南 2.ESP-IDF风格的ESP8266 ...

  3. Android电视应用开发环境搭建

    Android电视应用开发环境搭建 虽然一直在做Android应用,但是一直没有涉及电视应用的开发.最近家里买了一台小米电视,条件成熟,于是开始尝试. Android Studio与电视的连接调试 像 ...

  4. 在ubuntu10.04下 GStreamer开发环境搭建

    在ubuntu10.04下 GStreamer开发环境搭建 一 安装gstreamer 1 下载gstreamer源码 http://gstreamer.freedesktop.org/src/gst ...

  5. Linux下Java开发环境搭建

    最近刚开始玩Linux,搞开发搭建环境是第一步,于是总结了这篇Linux下Java开发环境搭建的博客,记录一下我爬过的坑. 一.JDK的下载 jdk8官方下载地址:http://www.oracle. ...

  6. Android NDK 开发环境搭建(二)----来源http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.htm

    随笔- 116  文章- 0  评论- 106  android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) android 最新 N ...

  7. Android学习1——开发环境搭建、Android Studio安装

    一.目的 1.掌握 Android 开发环境搭建方法 2.掌握 Android 项目建立方法 3.掌握 Gitee 账号建立及其使用方法 4.掌握 Android 模拟器使用方法 二.实验环境 1.J ...

  8. windows下pomelo开发环境搭建及JS乱码问题

    from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...

  9. cc java开发环境搭建_Windows系统下java开发环境搭建

    总的来说,开发环境是程序员工作的基础,没了他,IT工作就没得开展了.话不多说,今天提供的教程是Windows系统下Java开发环境的搭建,具体如下 1.下载并安装JDK(JAVA Developmen ...

最新文章

  1. 用 Pytorch 理解卷积网络
  2. Spyder导入已有文件夹
  3. Linux之xargs
  4. 【SpringMVC】SpringMVC系列4之@RequestParam 映射请求参数值
  5. 探索比特币源码3-熟悉RPC接口
  6. ICCV2021 Oral | UNO:用于“新类发现”的统一目标函数,简化训练流程!已开源!...
  7. PX4代码解析(5)
  8. C编译: 使用gdb调试
  9. oralce9i备份的数据导入到oralce10g中的过程
  10. 新增SDK 错误解决办法
  11. PMP第六版 十五至尊图
  12. kindle看pdf不清楚_不要再纠结pdf在kindle上的显示问题了,简单教程,拿去!不要太谢我。...
  13. 爬虫项目十一:用Python爬下微博博主所有视频、所有微博数据、获取评论数据
  14. 当我们谈注册中心时我们谈什么
  15. 服务器pe系统ghost系统安装教程,极速PE U盘安装GHOST系统详细图文教程
  16. 华为云管理网络2.0,志不止于网络
  17. html5 css3在线工具,HTML5/CSS3开发辅助工具(TopStyle)
  18. DOTA2利雅得大师赛利用api多线程对选手数据和战队数据爬取与分析
  19. HTML_hao123 1
  20. ISO-8601格式时间转换

热门文章

  1. 自定义View:测量measure,布局layout,绘制draw
  2. JavaWeb监听器
  3. 服务器常用shell巡检脚本
  4. 第三章 PLSQL Developer 安装前oracleclient客户端的配置,在用plsql 连接oracle服务器
  5. 电脑硬件配置——组装查询软件
  6. matlab的多项式拟合,函数求导,画函数曲线
  7. 关于计算机专业的求职信英文怎么说,计算机求职信范文英文3篇
  8. 决策树 随机森林 xgboost_决策树算法之随机森林
  9. 中专计算机应用,中专计算机应用论文
  10. keil obj 文件 结构_【Python】数据分析前的入门教程 Python For Everybody P2:数据结构...