2024年3月23日发(作者:)

前期准备:

下载Cygwin,要求版本至少在1.7以上。

Cygwin地址:/

下载Android-NDK,R4出现重大更新,要求版本R5以上

Android-NDK地址:/sdk/ndk/

获得已有第三方库以及头文件

环境安装:

Cygwin安装:

双击安装文件,按步骤进行,保证安装路径无中文无空格无特殊字符

默认package是不安装的,需要手动选择必须的package,编译所须的binutils,gcc,make

都在 Devel库中,请选择安装。

点击Default,将其变为Install,并选择下一步,直到完成安装

打开 等待初始化直到出现linux命令行

输入gcc,make 出现正常反应则安装完成

解压缩Android-NDK待用,同样路径不包含空格和特殊字符中文等

配置NDK环境变量

首先找到cygwin的安装目录,找到一个home<你的用户名>.bash_profile文件,我的是:

E:_profile,(注意:我安装的时候我的home文件夹下面神

马都没有,解决 的办法:首先打开环境变量,把里面的用户变量中的HOME变量删掉,在

E:cygwinhome文件夹下建立名为Administrator的文件夹(是用户名),然后把

E:_profile拷贝到该文件夹下)。

打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/ 例 如:

NDK=/cygdrive/e/android-ndk-r7

export NDK

NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存

打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r7信息,则表明

环境变量设置成功了。

Eclipse集成及编译

新建Android工程,保证工程路径中不包含中文符号和空格,在工程中新建Java类,其中包

含封装后的API函数,用来生成jni需要的h头文件。

public class AndroidARHeader {

}

public native int addtest(int i,int j);

public native int DetectImage(char[] cameraframe, int width, int

height, double[][] matrix, int[] nMatchID );

public native int loadImages(char[][] images, int[] widths, int[]

heights, int num);