网上看了很多人这方面的帖子,基本都是基于r3以前的版本,因为Android NDK r4是近期发布,其中有些改变,所以将此安装过程重新梳理。

安装环境Windows 7 64bit (之前在Ubuntu Desktop中安装过 android NDK 好像是r3版本,当时处于好奇,此次安装是为了尝试调试一个程序)

相比Ubuntu下载的安装 Windows环境安装还是稍微复杂些。

1. 下载android NDK r4 Windows 安装包,解压缩到你想放的位置,例如:d:\android

2. 安装cygwin,1.7以上版本,一个模拟的linux环境,安装中需要选择你要安装的Linux相关组件,参照之前网上相关文章,安装以下包

  • autoconf2.1
  • automake1.10
  • binutils
  • gcc-core
  • gcc4-core
  • gdb
  • pcre
  • pcre-devel
  • GNU awk

    如果后续有缺包,可以在继续安装。我把看似需要的(c/c++的)都装了,呵呵。

    安装好后,运行cygwin,使用过linux朋友们,应该不会陌生。

    3. 可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\<你的用户名>\.bash_profile 文件中最后添加环境变量

    NDK=/cygdrive/<你的盘符>/<android ndk 目录> 例如:NDK=/cygdrive/d/android/android-ndk-r4-windows
    export NDK

    其中"NDK"这个名字随便起,因为后面要用经常使用,建议不要太长。

    重启cygwin,输入cd $NDK进入对应目录,就成功了。

    后面不一样的地方来了:

    以前是 输入 build/host-setup.sh。 编译安装NDK本地环境。

    更新, r4版本后,不再需要这个句话

    看看NDK doc目录中OVERVIEW.TXT 说明

    Previous releases required that you run the 'build/host-setup.sh'
    script to configure your NDK. This step has been removed completely
    in release 4

    所以说,仔细看官方文档很重要,呵呵,再我开始研究android后,体会更深了。

    4. 现在已经可以编译JNI目录中的文件了,JNI是什么!? 这个我就不多说了,最直观的就是android 项目中,jni文件目录中存的就是用c/c++写的相关程序,需要利用NDK编译的。

    编译很简单,在cygwin中进入你的android项目目录(在cygdrive这个目录下),运行 $NDK/ndk-build

    实际就是运行ndk目录中的一个可以执行脚本。

    正常编译后会在你的项目目录中生成 对应的 .so文件 并放到 libs/armeabi目录中

    尝试编译一下,android NDK samples中的例子文件吧

转载于:https://blog.51cto.com/nami007/690361

Android开发学习笔记(10):NDK安装手顺及应用相关推荐

  1. Android 开发学习笔记

    Android 开发学习笔记 Lesson1 (2.28) android之父: Andy Rubin(安迪 鲁宾) Lesson2 (3.3) android 的优点: 开放.网络接入自由.丰富的硬 ...

  2. Android 开发学习笔记:七大知识点板块汇总

    前言 我从事 Android 开发行业也有些年头,工作期间也接触过很多 Android 开发者, 因此也非常清楚 程序员最大的限制并非年龄而是实力: 但大多数初中级Android工程师,想要提升技能, ...

  3. Android开发学习笔记

    2022.3.10 android开发笔记 Lesson4(3.10web). 作业: 手写MainAcitivity.java与activity_ main.xml 文件 res目录. 存放资源:图 ...

  4. Android开发学习笔记---搭建Android开发环境

    今天突发奇想,想看看Android开发是什么样的,于是就在度娘了一下Android开发,便自己动手搭建了起来.中间也碰到了一些问题,自己慢慢度娘,谷哥去解决.现在把搭建步骤记录如下: 第一步:下载Ec ...

  5. Android开发学习笔记(二)——编译和运行原理(1)

    接着上一篇的内容,继续从全局了解Android.在清楚了Android的平台架构(可以看作是静态原理)后,还需要掌握其动态原理.动态原理包含两部分,一部分是编译原理,另一部分是运行原理.有人会说,搭建 ...

  6. 【Android开发学习笔记之一】5大布局方式详解

    Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...

  7. Android开发学习笔记:数据存取之SQLite浅析

    一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低 ...

  8. android开发学习笔记系列(6)--代码规范

    在开发android的时候,我对自己写的代码很是不满,原因在于自己看到别人的代码,很是头痛,原因很简单,别人写的代码,我就要去猜他的意思,极其烦恼,嗯,就是他没有遵循代码规范,因此我在博客园上寻找一篇 ...

  9. Android开发学习笔记:WebView 一

    WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法: 第一种方法的步骤: 1.在要Activity中实例 ...

最新文章

  1. Introduction to Automata Theory, Languages, and Computation部分习题解答
  2. win10如何将已有python环境变量添加到电脑中 错误 Fatal error in launcher: Unable to create process using pip.exe 解决办法
  3. C#实验——Problem Statement
  4. 04:输出保留3位小数的浮点数
  5. 动态风云--互联网感言(三)
  6. 如何共享计算机磁盘,扩展群集共享磁盘的分区 - Windows Server | Microsoft Docs
  7. CopyToDataTable()、SetField()
  8. Linux终端的总结和shell
  9. 正规word文档文件字体排版格式要求(标准)
  10. window下PC版 charles小程序抓包
  11. 狐妖小红娘服务器维护,3月7游戏更新公告 狐妖小红娘版本上线
  12. 三星Galaxy Note2隐藏的秘密功能
  13. html自动循环播放视频列表
  14. 混淆矩阵 灵敏度 特异度 阳性预测值 阴性预测值 阳性似然比 阴性似然比
  15. 移动端Click300毫秒点击延迟 解决办法
  16. 加班多?交友范围窄?单身互联网人点进来!
  17. cad卸载不干净_流氓软件卸不干净?这7款超强软件卸载神器专治各种流氓软件!...
  18. CSTRING与lpvoid之间的转换
  19. 在HBuilder创建前端web项目时,图片加载不出来,怎么解决?
  20. 增压撬启停控制优化及纳入GE UCP控制系统可行性研究

热门文章

  1. [数据结构] - 串
  2. 网络工程:1.2 CISCO 路由设备登录命令
  3. uva1152 - 4 Values whose Sum is 0(hash或STL技巧ac)
  4. TestCenter中测试需求、测试用例、测试计划的评审方法
  5. mongodb带认证的副本集搭建
  6. MySQL缓存之Qcache与buffer pool对比
  7. CreateFileMapping共享内存时添加Global的作用
  8. wpf首次项目开发技术总结wpf页面
  9. 在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议)
  10. consul使用的一些见解