本文参考:Android Studio NDK环境配置及JNI使用方法:http://blog.csdn.net/tongseng/article/details/53005123

并添加自己的实践:

1.前言

什么是NDK?

NDK全称是Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和Java应用一起打包成apk。NDK集成了交叉编译器(交叉编译器需要UNIX或Linux系统环境),并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。

为什么使用NDK?

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

2. 可以方便地使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。

3. 提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。

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

什么是JNI?

JNI的全称是Java Native Interface,它提供了若干的API实现了Java和其他语言的通信(主要是C和C++)。

为什么使用JNI?

JNI的目的是使java方法能够调用c实现的一些函数。

安卓中的so文件是什么?

Android中用到的so文件是一个C++的函数库。在Android的JNI中,要先将相应的C语言打包成so库,然后导入到lib文件夹中供java调用。

Android Studio NDK及so文件开发

2. NDK安装及配置

NDK安装

Android Studio从1.3 Beta1开始,支持了NDK。之前则不支持,所以我们建议使用新版的编辑器。

如果未安装,点击安装下载;打开Tools->Android->SDK Manager->SDK Tools选中LLDB和NDK,点击确认,软件会自动安装NDK。

安装文件在:

将该路径配置到你系统变量的path里面去,如下:

然后将 NDK_ROOT追加到 Path环境变量下-->;%NDK_ROOT%

打开 cmd,输入 ndk-build,看看是否有东西输出。

3. JNI的使用方法

要先build一下project,具体方法为:Build->Rebuild Project。

>>相关阅读:Android Studio 新建 NDK Javah生成JNI头文件出现找不到类的错误

>>相关阅读:NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序

NDK下载:https://developer.android.com/ndk/downloads/index.html

第二种方法:NDK for Eclipse

本文参考:在eclipse中android NDK开发环境的搭建:http://blog.csdn.net/lovexieyuan520/article/details/43212333 以及 Eclipse下Android的NDK开发环境配置:http://www.cnblogs.com/pplxlee/p/5559223.html

网上有很多关于搭建Android NDK开发环境的文章,发现很多都不能用,大部分都是过时的,比如安装什么Cygwin,在eclipse里面新建什么Builder之类的,有的只有部分内容。经过一天的摸索终于搭建好了android NDK开发环境,包括C/C++的调试等,废话不多说,开始我们的搭建流程。

首先、下载android NDK,得到一个android-ndk-r10d-windows-x86_64.exe的安装文件,双击解压得到一个android-ndk-r10d的文件夹。安装android NDK,前提是你必须是安装android sdk,能够看到这儿,应该是已经安装android sdk了的,点击菜单Window-->Preferences-->Android-->NDK,在NDK Location中输入之前android-ndk-r10d的全路径,点击OK,截图如下:

Android Studio NDK环境配置的更多相关文章

  1. android studio ndk 环境配置成eclipse模式

    gradle.properties: android.useDeprecatedNdk=true build.gradle: android { ... sourceSets.main { jni.s ...

  2. android studio 开发环境配置

    android studio 开发环境配置 参考: 第一次使用Android Studio时你应该知道的一切配置 https://www.cnblogs.com/qianguyihao/p/43909 ...

  3. Android Studio开发环境配置(win7)

    由于近期,google网站封锁,导致eclipse配置android环境时,无法在线更新API和配置ADT.个人尝试之后,发现很多地方配置因为版本不合适而配置不成功,(ps:当然你FQ,或者下载到对应 ...

  4. Android Studio开发环境配置以及相关说明

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下在开发的时候使用的Android Studio开发环境版本以及相关注意事项. 一般来讲,每隔一段时间就要检查下Andr ...

  5. Android之NDK环境配置+JNI开发+so文件编译

    前言 这边Android作为日常记录,虽然破坏了文章队形~   最近人工智能挺火的,也稍微了解了一些库,比如关于视觉库openCV.要在安卓下调用这些C/C++库,需要用到JNI开发,在此把过程分享一 ...

  6. Android开发:Android Studio开发环境配置

    一.android studio下载: 1.Windows版: 下载地址:https://pan.baidu.com/s/1-sg4dN_2B5nn2YJf-C7XLQ 提取码:yedc 2.Mac版 ...

  7. android ndk环境配置(转)

    转载自:http://jingyan.baidu.com/article/3ea51489e7a9bd52e61bbac7.html android sdk 更新到 r23 时,eclipse 自带 ...

  8. 【Android】Android Studio NDK 开发

    Android Studio NDK 开发 记录在Android Studio中NDK简单开发的步骤 用到的Android Studio版本为3.5. 配置NDK 下载NDK 一般在SDK下已经有自带 ...

  9. Android studio 开发环境搭建

    Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...

随机推荐

  1. 手机页面开发的meta

    <meta name="viewport" content="width=device-width, initial-scale=1"> 手机环境. ...

  2. Python basic (from learn python the hard the way)

    1. How to run the python file? python ...py 2. UTF-8 is a character encoding, just like ASCII. 3. ro ...

  3. 转 maven jetty 插件

    maven jetty 插件使用 本机环境 JDK 7 Maven 3.2 Jetty 9.2 Eclipse Luna pom.xml 配置 在你的 pom.xml 文件中添加 jetty 插件的描 ...

  4. Python操作中缓存Redis

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  5. Android 4 学习(18):搜索

    参考<Professional Android 4 Development> 搜索 通过下面这几种方式可以给应用程序添加搜索功能: Search Bar Search View Quick ...

  6. Delphi 画箭头

    procedure TForm1.Line(x, y, x2, y2: integer); begin canvas.MoveTo(x, y); canvas.LineTo(x2, y2); end; ...

  7. Elasticsearch 搜索引擎

    简介: Elasticsearch 是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.它可以用于全文搜索,结构化搜索以及分析.    分布式实时文件存储,并将每一个字段都 ...

  8. Build/Run Instructions for Codec Engine Examples

    General Information This page explains how to build the examples provided in the Codec Engine (CE) p ...

  9. Django中的DRF框架视图集使用

    1. 两个基类 1)APIView Django REST_framework 中所有视图的基类是APIView   父类是View 支持定义的属性: authentication_classes 列 ...

  10. HttpServletResponse返回页面弹窗

    下载方法: @RequestMapping(value = "/download.htm") public void downLoadFile(String id,HttpServ ...