转载请标明出处:http://blog.csdn.net/shensky711/article/details/52763192

本文出自: 【HansChen的博客】

Android应用程序使用NDK的意义在这里就不说了,本文主要讲解如何在Android Studio 2.2下如何一步步搭建NDK开发环境。

下载NDK和工具

Android Studio2.2开始推荐开发者使用CMake去构建本地代码,在构建之前,我们需先安装下面三个依赖:

  • NDK: a set of tools that allows you to use C and C++ code with Android.
  • CMake: an external build tool that works alongside Gradle to build your native library. You do not need this component if you only plan to use ndk-build.
  • LLDB: the debugger Android Studio uses to debug native code.

我们可以使用SDK Manager进行下载,菜单位置:Tools > Android > SDK Manager,勾选后安装即可

创建或者导入native项目

创建工程



在这里要注意勾选这个Include C++ Support

接下来一路next最后finish,工程就创建好了。创建好之后系统默认生成了个demo。在Android Studio2.2下,目录结构发生了变化



所有c/c++文件都应放置在src/main/cpp/目录(以前是在jni目录)

配置build.gradle

android {
... defaultConfig {
... externalNativeBuild {
cmake {
//设置编译工具链
arguments "-DANDROID_TOOLCHAIN=clang"
//需编译生成的ABI类型
abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
}
} ndk {
//打包进APK的ABI类型
abiFilters "armeabi", "armeabi-v7a", "x86"
}
} externalNativeBuild {
cmake {
//配置CMakeLists.txt的路径
path 'CMakeLists.txt'
}
} ...
}



配置之后,我们就会发现工程终于变成这种结构了,其中cpp里面的是源文件,External Build Files是CMakeLists文件。

当然,想要正常编译,我们还需要学习CMake文件,这里推荐一篇文章:CMake 入门实战

最新文章

  1. STM32 使用 FreeRTOS过程记录
  2. 【转】在sqlserver下增加MYSQL的链接服务器,实现分布式数据库开发第一步
  3. c语言中动态数组的建立
  4. UMDF
  5. Ubuntu 命令行下快速打开各类文件 分类: ubuntu shell 2014-11-18 20:06 210人阅读 评论(0) 收藏
  6. 【最大流】【HDU2883】【kebab】
  7. linux配置jdk环境详解
  8. thinkphp phpexcel导入
  9. FPGA工程中用C语言对文件进行处理_生成mif文件
  10. 图像特效——摩尔纹 moir
  11. 极光开发者服务推出统计产品JAnalytics
  12. Web项目、Http协议简介
  13. appium+Android studio安装与配置
  14. CSS(Cascading Style Sheet)简述
  15. FileZilla-01
  16. centos7忘记密码解决办法
  17. CSS选择器中带点(.)怎么办?
  18. PHP开启mysqli扩展
  19. 关于PS抠图的各种方法 有这个就可以去面试了!!!加油!!!
  20. python dpkt解析ssl流

热门文章

  1. python编译器的安装和pycharm的安装
  2. [HNOI2004]L语言 trie树? Ac自动机? hash!!
  3. python语法入门之流程控制
  4. NodeJs 实现 WebSocket 即时通讯(版本二)
  5. Windows中的JDK和Linux中的JDK是否相同
  6. 学习笔记42_SpringMVC
  7. 深度学习tensorflow实战笔记(2)图像转换成tfrecords和读取
  8. 在线热备份数据库之innobackupex 增量备份InnoDB
  9. [考试反思]0822NOIP模拟测试29:延续
  10. CSPS模拟 67