Windows 7环境
本次讲解Android NDK开发,在window 7环境的搭建及应用实例的开发案例:
(1)软件的下载
1.下载android ADT:
地址:http://developer.android.com/sdk/index.html
此处可以下载:
下载此的话不需要下载eclipse,可以直接打开就用了。(环境一)
或者:
下载此的话还需要下载Ecilipse,ADT;(环境二)
下载地址为:http://www.eclipse.org/downloads/
下载地址为:http://developer.android.com/sdk/installing/installing-adt.html
2.下载CDT
http://www.eclipse.org/cdt/downloads.php
3.下载Android NDK
下载地址为:http://developer.android.com/tools/sdk/ndk/index.html
4.下载cygwin
下载地址为:http://www.cygwin.com/
(2)环境的搭建
注意:本环境搭建是在java sdk已经安装成功且环境变量已经搭建完成下为环境的》
本环境搭建以(环境一)为例,讲解环境的搭建:
1.首先在你的任意盘符下面建立一个Android NDK文件夹;然后把ADT压缩包解压到Android NDK文件夹下面,解压完成后,打开eclipse,即可使用
2.为eclipse增加c,c++开发插件:
打开eclipse,单击Help里面的install new software
选择 Helios- http://download.eclipse.org/release/helios
等待展开,选择Programing language
选择c/c++ 开发工具
一路next下去。
同意licenses
安装成功会提示是不是确认重启eclipse,重启就完成安装。
3.安装cygwin
Ndk需要运行在linux环境下,cygwin是windows下模拟linux的一个工具。
Cygwin是一个程序,支持很多插件。
双击安装
我已经把需要下载的东西下载好了,大家直接选择install from local directory
Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包
然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了
直接从网络下载很慢,本地安装更快。
安装完毕后 ,桌面会出现一个快捷图标
现在打开 cygwin
首先程序会初始化
敲入命令
Make –v
显示出来 GNU Make 的版本 ,说明我们的cygwin模拟的linux编译环境 模拟成功了.
4.android ndk的安装
直接把该压缩包解压到Android NDK文件夹下即可。
配置ndk的环境变量:
找到cygwin的安装路径,在其etc文件夹下面找到profile文件,打开找到PATH
在后面添加android ndk的解压路径,如下图是所示:
自此android ndk开发环境搭建完成!
(3)Android项目的建立及编写
打开eclipse,建立android项目:
在android项目中建立一个类,JNIMain.java类,如下所示:
package com.example.ndkbuild;
public class JNIMain {
static {
System.loadLibrary("Hello");
}
public native String jniHello();
}
然后在建立jni文件夹
然后打开cmd命令,进入到该工程的bin文件夹夹下的classes文件夹下,利用javah命令进行给JNIMain.java类签名生成jni方法:
Javah com.example.ndkbuild.JNIMain
把生成的文件拷贝到jni目录下
然后编写C文件
最后打开cygwin定位到该项目下面,
输入ndk-build命令进行编译即可,
然后调用该方法即可
总体的步骤为:
1.创建一个android工程
2.JAVA代码中写声明native 方法 public native String helloFromJNI();
3.用javah工具生成头文件
4. 创建jni目录,引入头文件,根据头文件实现c代码
5.编写Android.mk文件
6.Ndk编译生成动态库
7.Java代码load 动态库.调用native代码