Android NDK r9的配置与使用
Android NDK 配置:
网上有很多教程,但大部分是旧版本的内容,最新版本的已经改变,为了让大家少走弯路,在这里针对r9的配置进行记录分享。
要玩NDK,你或多或少要用到以下一些东西,所以先做一下准备
- 有关Eclipse下的Android与NDK配置,请网上搜,不再描述,不用Eclipse的同学请忽略。简单提示一下:网上凡是用Help>Install New Software的方法基本正确;
- 有关NDK的下载,当然是google官方的,搜索Android NDK即可,我都懒得贴出地址了;
- 如果在Windows下,会用到Cygwin,模拟Linux/Unix/Mac命令行,不管你爱不爱,必须下载安装,地址我也懒得贴出了。方法也是网上搜即可,简单提示下:Cygwin的setup-x86xxx.exe 其实是个包管理器,想要安装或卸载组件随时打开它,记得安装Devel组件,很重要。Cygwin的安装也很费时间,主要是下载需组件要时间,其home目录在Cygwin安装目录下,各盘符号表示为cygdrive/<小写盘符>形式,如E盘: cygdrive/e 没用过unix命令? 你要学一下,可能会花上一到两个小时时间。
上面步骤准备好了吗?Android NDK r9的配置就是不用配置,呵呵。好吧,我再说详细一点,其实网上说的一些设置啊,make啊,都已经不需要,直接把下载回来的包解压即可。存放目录不要有空格,这点很重要,让你省去很多麻烦,信我。
在r4版本之前,要求你进行
- build/host-setup.sh
现在已经没有了,即使你要找也找不到这个脚本;
在Cygwin里记得设置好ndk目录变量,例如输入cd $NDK就直达NDK目录,很方便,信我,你会在之后经常用到它。
NDK怎么使用?
先要在Android项目下新建jni目录,把c或c++脚本写成组件,例如mymodule.c,同时写一个Android.mk来描述它,mymodule.c和Android.mk其实都是文本文件,用你喜欢的编辑器编辑它们,但具体怎么弄,看别人写的:《关于Android NDK中调用第三方的动态库》
http://android100.cnblogs.com/p/android-sdk-config.html
或者网上找找,学会写这两个文件和写Java接口就可以了。
编译C组件
完成上一步后,才可到达这里,相信你在网上其它地方看到很多教程方法并且实践了,来到里是很不容易的,但如果没有,你看到这里是没有意义的。
编译C组件的方法其实也很简单,如果只是入门,只要把c文件和mk文件放在Eclipse项目下的jni即可,不要放到别的地方,至少目前不要。方法是:
通过Cygwin进入项目目录,就是那个AndroidManifest.xml所在的项目根目录。在Cygwin上一个一个输入目录名很费时,教你一个快捷方法,把目录拖到Cygwin中就可以得到正确的字符串,cd进去就可。记住,一定要进入项目根目录,然后,执行ndk目录下的ndk-build,因为上面设置了目录别名,所以我只要这样即可:
- $NDK/ndk-build
接着就会出现类似
Compile xxxxxx
的信息,没错误的话,项目根目录下会生成libs/libxxxx.so文件。
非ARM架构CPU的编译
运行项目用的如果是Genymotion或者非ARM架构CPU的模拟器,会报错,不怕,只要编译时加上APP_ABI=x86 即可:
- $NDK/ndk-build APP_ABI=x86
结语
至此,ndk的使用就是如此简单,关键还是$NDK/ndk-build 脚本。过程可能会出现一些错误,多做一些功课和给些耐心是都可以解决的。
Android NDK r9的配置与使用的更多相关文章
- Android NDK R9 安装配置 无需Cygwin
转自:http://www.cr173.com/soft/66623.html NDK是一个工具集,可让您实现您的应用程序使用本机代码的语言,如C和C + +.Android NDK 是在SDK前面又 ...
- Android NDK 安装与配置
本文主内容: 1. Android NDK 安装 2. 安装Cygwin与使用NDK编译 3. 在Eclipse中集成C/C++开发环境CDT 4. 安装Sequoyah插件 5. JNI编 ...
- Android NDK开发 环境配置(一) 之多重CPU的兼容性
今天我学习Android Studio当中的NDK,为什么要学习NDK呢,是因为领导给我提了一个BUG,这个BUG就是Android 多重CPU怎样兼容性,我现在先说一下,Android Studio ...
- Ubuntu 32下Android NDK+NEON的配置过程及简单使用举例
1. 利用VMware在Windows7 64位下安装Ubuntu13.10 32位虚拟机: 2. 从 https://developer.android.com/tools/sdk/ndk/in ...
- Android NDK 环境变量配置
NDK_ROOT = C:\__S_D_K__\AndroidNDK\android-ndk-r20 在path 中加入 %NDK_ROOT% 我的路径在C盘 //个别的程序可能需要 NDK_ROO ...
- Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说
版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...
- Mac os x下配置 Android ndk 开发环境
1.阅读下面之前,请确保你android sdk的开发环境已经搭建好,ADT也最好是目前最新的. 2.到http://developer.android.com/tools/sdk/ndk/index ...
- Android NDK R9d 安装
NDK是一个工具集,可让您实现您的应用程序使用本机代码的语言,如C和C + +.Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Go ...
- [cocos2d-x3.0]Android+NDK+Eclipse环境搭建及编译步骤~
1: 必要准备 1): jdk&jre 2): adt-bundle 3): android ndk r9 4): python2.7 5): cocos2d-x 3.0 alpha0 2: ...
随机推荐
- POSTGRESQL表分区
最近发现POSTGRESQL的一张表(下面统称为test表)达到67G大小,不得不进行重新分区,下面记录一下步骤: 前言.查看数据表结构(表结构肯定是虚构的) CREATE TABLE test ( ...
- 使用JAVA的URL类处理url事例
import java.net.*; import java.io.*; public class ParseURL { public static void main(String[] args) ...
- sell 项目 订单详情表 设计 及 创建
1.数据库设计 2.订单详情表 创建 /** * 订单详情表 */ create table `order_detail` ( `detail_id` varchar(32) not null, `o ...
- python之模块contextlib 加强with语句而存在
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块contextlib,为加强with语句而存在 #特别注意:python3和python2 ...
- RHEL7禁用网卡命名规则
[root@rhel7 ~]# vi /etc/sysconfig/grub GRUB_TIMEOUT= GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g ...
- NSDictionary的分类
@implementation NSDictionary (extra) //根据key值的到字典中的object - (id)getObjectByKey:(NSString*)key { NSAr ...
- cmd下查看端口被某程序占用命令
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们需要确定谁占用了我们的9050端口 ...
- 关于Bigdecimal比较大小
java中对bigdimical比较大小一般用的是bigdemical的compareTo方法: int a = bigdemical.compareTo(bigdemical2);a = 1,表示b ...
- java 获取计算机名称, ip, mac地址
写在前面 通常所说查询本机mac地址是以以太网为准的, 也就是网线那个口..这种描述略捞. 但是通过java的getHostAddress获取ip以及getHardwareAddress()方法获取m ...
- 每日学习与工作计划移至日事清APP
今天今天开始,每日学习与工作计划移至日事清APP. 博客园依然是我写文字的主战场.日事清APP仅限于做计划.