您的位置:首页 > 其它

重新整合的jni以及sdk的安装方法,不通过你找我!

2013-04-12 16:15 369 查看
JNI&NDK安装以及问题

一、准备工作

Java环境已经配置好

Java 环境安装容易丢失文件和库,不行的话就重新安装,一定要卸载干净和重启电脑!!

Cygwin

http://www.cygwin.com/setup.exe

Android-ndk-版本信息

http://dl.google.com/android/ndk/android-ndk-1.6_r1-windows.zip

二、安装Cygwin

1.从指定网址下载Cygwin得到.exe安装文件。

2.点击安装

这里需要选择一个网址下载,一般都会选择http://mirro.kernel.org没有的话你可以add进去。你也可以下载其他的,这个主要是网速,下载的快慢而已。

在一个就是选择要安装的packages,一般都是说十二个就可以(参考http://hi.baidu.com/j_key/item/bdfe28f6b1758ad56325d259)。也可以都选择就是下载的时间问题。

3.安装完成可以进入查看安装是否成功,

gcc -v

make -v

出现版本信息就说明安装正确了。

如果没有就是说明你的安装包选择的不够全面,重新安装,仔细一点也许就没有问题了。

三、ndk的安装

1.下载android-ndk。

2.将android-ndk解压到自己喜欢的位置,打开cygwin进入ndk的根目录(低版本的可能可以运行build/host-setup.sh会出现一个信息表类似的信息,表明安装正确。)

3.高版本就进入根目录,然后进入sample文件夹,里面是给出的例子。

4.进入一个实例文件夹如:hello-jni,然后ndk-build没有错误就表示成功(前提没有设置环境变量)。

5.这里一般不会出现问题,如果出现就是你的ndk包有问题,可以重新下载或者解压。

四、配置ndk的环境变量

1.首先进入cygwin的安装目录下的home文件夹,里面是你的笔记本或者是电脑的用户名的文件夹,进入修改.bash_profile文件(我的是E:\cygwin\home\Administrator\.bash_profile)

(用文本打开就行,读代码的也可以)在最后添加:

NDK=/cygdrive/你的NDK解压位置/ <android ndk 目录>

export NDK

2.打开cygwin,输入cd $NDK回车,输出设置的路径,表示成功。

3.如有错误查看你输入的路径是否正确。其他的应该没有问题,如有问题可以交流一下。

五、JNI接口的创建

1.进入eclipse建立一个简单的android工程,如:hello world;

2.在src里新建一个java文件(JNI.java)并且新建一个JNI的类 如图:

Package和你新建出现的那个java文件是一样的;

3.在你的那个java文件下添加如下:

说明:testjni是你将来要生成的动态库的名字(libtestjin.so)

下面是调用你的JNI类以及类的方法。

4.打开cygwin,进入到你新建的工程的根目录下的bin文件夹下的classes下

输入的是javah -jni 加上 package名 加上你的类的名字JNI 回车

(这样不会出现找不到类的错误,如果你不是在这个目录下可能就会发生类找不到的 问 题)

运行会在当前目录下产生一个.h文件,说明JNI的预约头文件产生了。

5.接下来就是编写C的代码,这要根据你的头文件里的预约函数来写

头文件的内容:

.C文件的内容如下

这样你也可以在红线的函数内添加你所写的任意的C写的函数,我这是个例子就没有 写。

到这里JNI的接口已经做完。

六、NDK生成动态库文件

1.在你的android工程根目录下新建一个jni文件夹,把刚才的.c和.h文件剪切过来。

2.在jni文件夹下新建一个android.mk文件内容如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := testjni (动态库的名字)

LOCAL_SRC_FILES :=com_example_hellojni_JNI.c

include $(BUILD_SHARED_LIBRARY)

/article/5733609.html 各个步骤的意思参 考

3.打开cygwin进入到安卓工程的根目录下,运行$NDK/ndk-build就会产生动态链接库 (在libs文件夹里的armeabi里).so文件

4.重新编译生成apk安装运行就可以了。

参考资料地址:

/article/7044692.html

/article/8138407.html

图片内容可以去参考资料地址查看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐