Android-JNI环境搭建和调用流程+小demo
2013-10-25 14:36
447 查看
JNI的调用流程和环境搭建
原创:/article/8042027.html
一、JNI环境搭建
Ø 基本环境
windowsXP系统; Eclipse开发工具; Java编程语言
Ø 工具
1. NDK:交叉编译的工具。用于在windows环境下模拟linux环境,编译用于linux环境下的c库。
下载地址:http://developer.android.com/tools/sdk/ndk/index.html
下载android-ndk-r8e-windows-x86.zip 包。
2. Cgywin :windows下模拟linux系统环境的模拟器。用于在windows下模拟linux系统。
下载地址:http://cygwin.com/setup.html
3. CDT:Ecilipse中的插件,用于高亮C/C++代码
下载地址:http://www.eclipse.org/cdt/
Ø 搭建流程
1. 解压NDK工具包
使用解压工具把android-ndk-r8e-windows-x86.zip包中解压出来的android-ndk-r7b文件夹放到C根目录下。
2. 安装Cgywin
① 双击
开始安装。
② 进入下图界面的时候,选择第一项则会从网络上下载ndk的安装包安装该工具,选择第三项的话选择则从本地已准备好的安装包中安装该工具。
③ 进入下图界面的时候,选择的安装目录不要包含空格或者中文,然后下一步。
④ 进入下图界面,选择安装工具的网络路径,然后下一步。
⑤ 进入下图界面的时候,选择要安装的包,根据具体情况选择。本项目中把Devel和Shell选择为install,然后下一步。
⑥ 进入下图界面表示安装成功,点击完成结束安装。
3. 安装CDT插件
Eclipse菜单中选择help->Install New Software->Add添加CDT的本地包或者网络安装地址安装CDT插件。
Ø 配置环境变量
1. 进入cgywin的安装目录,找到etc目录下的profile文件。
2. 打开profile文件,找到第32行的PATH
3. 加上“/cygdrive/”+“android-ndk-r7b文件夹所在的路径”+“:”
Eg:我的android-ndk-r7b文件夹在C盘的android-ndk-r7b-windows文件夹中,则PATH配置路径为:
PATH="/usr/local/bin:/usr/bin:/cygdrive/c/android-ndk-r7b-windows/android-ndk-r7b/:${PATH}"
Ø 验证安装是否正确
1. 双击桌面上的
打开cygwin终端。
2. 输入命令行make -v 出现下图界面表示cygwin安装成功
二、JNI调用流程
Ø 在java代码中定义一个native的方法
Ø 使用根据方法签名,在c文件中实现这个方法
Ø 编写mk文件
Ø 在cgywin终端进入工程的/bin/classes/目录下,然后使用ndk-build命令,编译动态库
Ø 在java代码中加载c文件生成的动态库
Ø 调用本地方法
三、JNI调用C的Demo
【调用c中的代码,返回” H ello from c!”字符串】
1. 创建NDKDemo工程。
2. 在java代码中定义一个native的方法。
3. 使用javah创建方法签名。根据方法签名,在c文件中实现这个方法。
① 进入工程的classes目录下,执行 “javah
包名.类名” 命令。
② 得到方法签名头文件。
③ 在工程中创建 jni 目录,把得到的方法签名的文件放到该目录下。创建C文件。
④ 在C中使用” ”把头文件引入到项目中来。并使用头文件中的方法签名来作为c中的方法的名字,编写C代码。
4. 在jni目录下创建Android.mk文件,编写mk文件。
5. 在cgywin终端进入工程的/bin/classes/目录下,然后使用ndk-build命令,编译动态库。
6. 在java代码中加载c文件生成的动态库。
① 刷新项目。出现如下图目录:可知库的名字为“Hello”
② 在java代码中加载c库。
7. 调用本地方法。
8. 演示效果。
原创:/article/8042027.html
一、JNI环境搭建
Ø 基本环境
windowsXP系统; Eclipse开发工具; Java编程语言
Ø 工具
1. NDK:交叉编译的工具。用于在windows环境下模拟linux环境,编译用于linux环境下的c库。
下载地址:http://developer.android.com/tools/sdk/ndk/index.html
下载android-ndk-r8e-windows-x86.zip 包。
2. Cgywin :windows下模拟linux系统环境的模拟器。用于在windows下模拟linux系统。
下载地址:http://cygwin.com/setup.html
3. CDT:Ecilipse中的插件,用于高亮C/C++代码
下载地址:http://www.eclipse.org/cdt/
Ø 搭建流程
1. 解压NDK工具包
使用解压工具把android-ndk-r8e-windows-x86.zip包中解压出来的android-ndk-r7b文件夹放到C根目录下。
2. 安装Cgywin
① 双击
开始安装。
② 进入下图界面的时候,选择第一项则会从网络上下载ndk的安装包安装该工具,选择第三项的话选择则从本地已准备好的安装包中安装该工具。
③ 进入下图界面的时候,选择的安装目录不要包含空格或者中文,然后下一步。
④ 进入下图界面,选择安装工具的网络路径,然后下一步。
⑤ 进入下图界面的时候,选择要安装的包,根据具体情况选择。本项目中把Devel和Shell选择为install,然后下一步。
⑥ 进入下图界面表示安装成功,点击完成结束安装。
3. 安装CDT插件
Eclipse菜单中选择help->Install New Software->Add添加CDT的本地包或者网络安装地址安装CDT插件。
Ø 配置环境变量
1. 进入cgywin的安装目录,找到etc目录下的profile文件。
2. 打开profile文件,找到第32行的PATH
3. 加上“/cygdrive/”+“android-ndk-r7b文件夹所在的路径”+“:”
Eg:我的android-ndk-r7b文件夹在C盘的android-ndk-r7b-windows文件夹中,则PATH配置路径为:
PATH="/usr/local/bin:/usr/bin:/cygdrive/c/android-ndk-r7b-windows/android-ndk-r7b/:${PATH}"
Ø 验证安装是否正确
1. 双击桌面上的
打开cygwin终端。
2. 输入命令行make -v 出现下图界面表示cygwin安装成功
二、JNI调用流程
Ø 在java代码中定义一个native的方法
Ø 使用根据方法签名,在c文件中实现这个方法
Ø 编写mk文件
Ø 在cgywin终端进入工程的/bin/classes/目录下,然后使用ndk-build命令,编译动态库
Ø 在java代码中加载c文件生成的动态库
Ø 调用本地方法
三、JNI调用C的Demo
【调用c中的代码,返回” H ello from c!”字符串】
1. 创建NDKDemo工程。
2. 在java代码中定义一个native的方法。
3. 使用javah创建方法签名。根据方法签名,在c文件中实现这个方法。
① 进入工程的classes目录下,执行 “javah
包名.类名” 命令。
② 得到方法签名头文件。
③ 在工程中创建 jni 目录,把得到的方法签名的文件放到该目录下。创建C文件。
④ 在C中使用” ”把头文件引入到项目中来。并使用头文件中的方法签名来作为c中的方法的名字,编写C代码。
4. 在jni目录下创建Android.mk文件,编写mk文件。
5. 在cgywin终端进入工程的/bin/classes/目录下,然后使用ndk-build命令,编译动态库。
6. 在java代码中加载c文件生成的动态库。
① 刷新项目。出现如下图目录:可知库的名字为“Hello”
② 在java代码中加载c库。
7. 调用本地方法。
8. 演示效果。
相关文章推荐
- Android-JNI环境搭建和调用流程+小demo
- Android JNI(NDK)简单学习(环境搭建,创建一个JNI项目的基本流程)
- 一个 Demo 学会搭建 Android Studio JNI 开发环境
- android JNI开发环境搭建及简单demo测试
- Android JNI 入门——环境搭建及demo
- Android Studio JNI/NDK 编程(二) Windows 下环境搭建 demo 开发
- Android Studio JNI/NDK 编程 Windows 下环境搭建 demo 开发
- android串口开发入门之搭建ndk开发环境及第一个jni调用程序
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
- Ubuntu下Android JNI初步学习之——搭建相关环境和测试Demo
- 【转】 Android的NDK开发(1)————Android JNI简介与调用流程
- Android NDK+JNI开发环境搭建
- 初学JNI(一)环境配置及调用流程
- android jni环境搭建之安装ANT构建系统
- Android NDK&&JNI 编译环境的搭建
- 搭建arm-linux-gcc交叉编译工具链环境(Android原生(JNI)开发环境搭建)
- Android-JNI(2)-NDK环境搭建和简单案例
- (OK) Android的NDK开发(1)————Android JNI简介与调用流程
- 史上最易懂的Android jni开发资料--NDK环境搭建