Android开发学习笔记(10):NDK安装手顺及应用
网上看了很多人这方面的帖子,基本都是基于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安装手顺及应用相关推荐
- Android 开发学习笔记
Android 开发学习笔记 Lesson1 (2.28) android之父: Andy Rubin(安迪 鲁宾) Lesson2 (3.3) android 的优点: 开放.网络接入自由.丰富的硬 ...
- Android 开发学习笔记:七大知识点板块汇总
前言 我从事 Android 开发行业也有些年头,工作期间也接触过很多 Android 开发者, 因此也非常清楚 程序员最大的限制并非年龄而是实力: 但大多数初中级Android工程师,想要提升技能, ...
- Android开发学习笔记
2022.3.10 android开发笔记 Lesson4(3.10web). 作业: 手写MainAcitivity.java与activity_ main.xml 文件 res目录. 存放资源:图 ...
- Android开发学习笔记---搭建Android开发环境
今天突发奇想,想看看Android开发是什么样的,于是就在度娘了一下Android开发,便自己动手搭建了起来.中间也碰到了一些问题,自己慢慢度娘,谷哥去解决.现在把搭建步骤记录如下: 第一步:下载Ec ...
- Android开发学习笔记(二)——编译和运行原理(1)
接着上一篇的内容,继续从全局了解Android.在清楚了Android的平台架构(可以看作是静态原理)后,还需要掌握其动态原理.动态原理包含两部分,一部分是编译原理,另一部分是运行原理.有人会说,搭建 ...
- 【Android开发学习笔记之一】5大布局方式详解
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...
- Android开发学习笔记:数据存取之SQLite浅析
一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低 ...
- android开发学习笔记系列(6)--代码规范
在开发android的时候,我对自己写的代码很是不满,原因在于自己看到别人的代码,很是头痛,原因很简单,别人写的代码,我就要去猜他的意思,极其烦恼,嗯,就是他没有遵循代码规范,因此我在博客园上寻找一篇 ...
- Android开发学习笔记:WebView 一
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法: 第一种方法的步骤: 1.在要Activity中实例 ...
最新文章
- Introduction to Automata Theory, Languages, and Computation部分习题解答
- win10如何将已有python环境变量添加到电脑中 错误 Fatal error in launcher: Unable to create process using pip.exe 解决办法
- C#实验——Problem Statement
- 04:输出保留3位小数的浮点数
- 动态风云--互联网感言(三)
- 如何共享计算机磁盘,扩展群集共享磁盘的分区 - Windows Server | Microsoft Docs
- CopyToDataTable()、SetField()
- Linux终端的总结和shell
- 正规word文档文件字体排版格式要求(标准)
- window下PC版 charles小程序抓包
- 狐妖小红娘服务器维护,3月7游戏更新公告 狐妖小红娘版本上线
- 三星Galaxy Note2隐藏的秘密功能
- html自动循环播放视频列表
- 混淆矩阵 灵敏度 特异度 阳性预测值 阴性预测值 阳性似然比 阴性似然比
- 移动端Click300毫秒点击延迟 解决办法
- 加班多?交友范围窄?单身互联网人点进来!
- cad卸载不干净_流氓软件卸不干净?这7款超强软件卸载神器专治各种流氓软件!...
- CSTRING与lpvoid之间的转换
- 在HBuilder创建前端web项目时,图片加载不出来,怎么解决?
- 增压撬启停控制优化及纳入GE UCP控制系统可行性研究
热门文章
- [数据结构] - 串
- 网络工程:1.2 CISCO 路由设备登录命令
- uva1152 - 4 Values whose Sum is 0(hash或STL技巧ac)
- TestCenter中测试需求、测试用例、测试计划的评审方法
- mongodb带认证的副本集搭建
- MySQL缓存之Qcache与buffer pool对比
- CreateFileMapping共享内存时添加Global的作用
- wpf首次项目开发技术总结wpf页面
- 在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议)
- consul使用的一些见解