【环境配置】配置ndk
1. 背景
Android平台从诞生起,就已经支持C、C++开发。
众所周知,Android的SDK基于Java实现。这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用仅仅能使用Java”。在Android SDK首次公布时,Google就宣称其虚拟机Dalvik支持JNI编程方式。也就是第三方应用全然能够通过JNI调用自己的C动态库,即在Android平台上,“Java+C”的编程方式是一直都能够实现的。
只是,Google也表示。使用原生SDK编程相比Dalvik 虚拟机也有一些劣势,Android SDK文档里,找不到不论什么JNI方面的帮助。即使第三方应用开发人员使用JNI完毕了自己的C动态链接库(so)开发,可是so怎样和应用程序一起打包成apk并公布?这里面也存在技术障碍。比方程序更加复杂。兼容性难以保障。无法訪问Framework API。Debug难度更大等。开发人员须要自行斟酌使用。
于是NDK就应运而生了。
NDK全称是Native Development Kit。
NDK的公布,使“Java+C”的开发方式最终转正,成为官方支持的开发方式。NDK将是Android平台支持C开发的开端。
NDK是由Android提供的编译本地代码(C、C++)的工具,主要用于使用JNI开发Android app。
2. 配置
(1) 下载
从android ndk官网http://developer.android.com/sdk/ndk/index.html下载ndk,眼下最新版本号为android-ndk-r6b-linux-x86.tar.bz2
(2) 解压ndk到工作文件夹
$ tar -xvf android-ndk-r6b-linux-x86.tar.bz2
$ sudo mv android-ndk-r6b /usr/local/ndk
(3) 环境变量设置
$ sudo vim /etc/profile
export PATH=/usr/local/ndk:$PATH
编辑完毕后保存退出,并重新启动生效。
(4) 验证安装
$ cd /usr/local/ndk/samples/hello-jni/
$ ndk-build
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Install : libhello-jni.so => libs/armeabi/libhello-jni.so
【环境配置】配置ndk的更多相关文章
- 在eclipse里配置Android ndk环境 适用于windows mac 和linux(转)
在eclipse里配置Android ndk环境 适用于windows mac 和linux(转) 2012-02-27 13:02:16| 分类: android | 标签:java prog ...
- eclipse里配置Android ndk环境,用eclipse编译.so文件
做Android NDK开发时,c代码需要用ndk-build来进行编译,而java代码则需要用Android sdk编译. 编译c代码有两种方法: 一.写好c代码后,然后用cygwin搭建ndk-b ...
- cocos2d-x学习记录第一篇-环境变量配置
最近准备学习cocos2d-x,之前一直是做iOS开发的,算是零基础开始学习吧. (此条后来修改,不用配置下面这些东西,下载一个cocosstudio就可以了,直接在里边就创建工程了) 本人用Mac电 ...
- Android开发环境变量配置总结
每次重装系统或者拿到一台新电脑都得重配Android的环境变量,每次都得上网查,索性就记在这儿吧. “系统属性->高级系统设置->环境变量” 打开环境变量配置窗口. JDK配置: 新建JA ...
- win7(x64)+VS2012+cocos2d-x环境的配置以及试运行
原地址:http://blog.csdn.net/gf771115/article/details/20740993 转自:http://blog.sina.com.cn/s/blog_62df697 ...
- Ubuntu 下的环境变量配置
网上很多配置jdk环境变量的方法,但是几乎都会下次重启电脑就失效,或者时不时的失效.下面教你一招 JDK环境变量配置如下: 执行命令sudo gedit /etc/environment,在打开的编辑 ...
- Linux 下android环境的配置
Linux 下android环境的配置 1. JDK下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- ...
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- 1.JAVA基础复习——计算机基础与环境变量配置
软件开发的了解 软件开发: 软件:一系列按照特定组织的计算机数据和指令的集合. 开发:制作软件. 程序:一系列有序指令的集合. 人机交互 人机交互的方式有两种:图形化界面和命令行方式. 图形化界面:简 ...
- java环境变量配置
1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 ...
随机推荐
- A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28
上面回答有问题,找到qq官方的文档了 http://service.exmail.qq.com/cgi-bin/help?id=28&no=1000585&subtype=1 如果您的 ...
- 优化JDBC编程-多提提意见
优化JDBC编程这是我根据MS SQL SERVER 2000 JDBC DRIVER HELP,并参考其它资料整理而成.ms的这个帮助文件实在有失大家风范,示例代码很.....有兴趣者可以去下载ht ...
- jquery 根据name获取元素的问题
我要获取name属性为test的元素 但是这个test是赋值给变量的 如var name='test'; 即要获取name属性为变量name的元素 请问jquery怎么写? $("input ...
- 解决sqlite删除数据或者表后,文件大小不变的问题
原因分析: sqlite采用的是变长纪录存储,当你从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的"空闲列表"中用于存储你下次插入的数据,用于提高效率,磁盘空间并没有丢 ...
- Git教程之工作区和暂存区
工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:
- HDU2669 Romantic 扩展欧几里德 对我来说有陷阱
这道题对我来说有陷阱虽说是赤果果的扩展欧几里德,看样子基本攻还是不够哈,基本功夫一定要好,准备每天上那种洗脑课时分 多看看数论书,弥补一下 自己 狗一样的基础, 这道题用到了一个性质: 对于不定整数 ...
- AS 代码模板 文件模板 Templates MD
修改 File and Code Templates Settings –> Editor –>[File and Code Templates] 或者在右键new时选择子菜单[Edite ...
- Windows服务器PHPstudy配置安装微擎教程
此教程只适于无环境的新服务器,有环境请勿安装用电脑上面的远程桌面连接登陆服务器.1,下载微擎安装包,下载PHPstudy,下载V9运行库.安装PHPstudy.安装V9运行库.准备好3个. <i ...
- scala 学习笔记九 定义操作符
Scala中方法名可以包含几乎所有字符,还可以对操作符+赋予新的含义 上面例子中136行,用下划线来表示“缺省初始化值” 上面151行和153行都是通过圆点表示法进行调用 157行和159行用中缀表示 ...
- 本地主机DNS劫持演示及防范
劫持演示 如果要进行DNS劫持 ...