android 调用自己写的C函数库 代码
2013-09-29 15:39
323 查看
java 通过jni 调用C语言定义的函数时 首先要生成函数原型
具体步奏1-3: NDK里面自带一些案例 可以参考
1 -----函数原型(C语言头文件):
| 是存在C/C++的头文件中。
|
| java提供了javah的工具 可以直接根据java的代码的 native 修饰声明的本地方法代码
|
| 生成 .h结尾的C语言的函数原型的头文件
|
| 函数原型的头文件里的方法 有一定的命名规则 可以根据 命名来推断 jni本地函数与那个jAVA类的方法相对应
2 ----- C语言的具体实现
| 编写C语言时 导入生成的函数原型头文件 根据函数原型的内容编写C语言的方法
|
| 为了保证jni的正常进行不要随意修改生成的函数原型文件只要修改C语言的方法即可
|
| Java 和C语言的 基本数据类型 部分有差别 如 JAVA 的String 要通过jni函数来转换成C语言的字符串
const char *str=(*env)->GetStringUTFChar(env,string,0);
3 ----- 用Visual 将C语言生成共享库 / 或者 安装NDK来生成共享库 xx-.so 文件
配置NDK开发 请参照 http://www.cnblogs.com/baronzhao/archive/2012/07/10/2585181.html
下面是一个 java 调用jni的案例 http://download.csdn.net/detail/only__one/6418687
编译生成so函数库的案例 自己可以在 ndk的代码中找到案例
在java 代码中 加载共享库 调动native 方法 实现调用C语言的方法
具体步奏1-3: NDK里面自带一些案例 可以参考
1 -----函数原型(C语言头文件):
| 是存在C/C++的头文件中。
|
| java提供了javah的工具 可以直接根据java的代码的 native 修饰声明的本地方法代码
|
| 生成 .h结尾的C语言的函数原型的头文件
|
| 函数原型的头文件里的方法 有一定的命名规则 可以根据 命名来推断 jni本地函数与那个jAVA类的方法相对应
2 ----- C语言的具体实现
| 编写C语言时 导入生成的函数原型头文件 根据函数原型的内容编写C语言的方法
|
| 为了保证jni的正常进行不要随意修改生成的函数原型文件只要修改C语言的方法即可
|
| Java 和C语言的 基本数据类型 部分有差别 如 JAVA 的String 要通过jni函数来转换成C语言的字符串
const char *str=(*env)->GetStringUTFChar(env,string,0);
3 ----- 用Visual 将C语言生成共享库 / 或者 安装NDK来生成共享库 xx-.so 文件
配置NDK开发 请参照 http://www.cnblogs.com/baronzhao/archive/2012/07/10/2585181.html
下面是一个 java 调用jni的案例 http://download.csdn.net/detail/only__one/6418687
编译生成so函数库的案例 自己可以在 ndk的代码中找到案例
在java 代码中 加载共享库 调动native 方法 实现调用C语言的方法
相关文章推荐
- Android 中点击空白处隐藏软键盘
- Android权限中文描述大全(转)
- android EditText 隐藏系统键盘 保留光标
- android用webservice连接sqlserver数据库
- android 修改listview item view 的方法
- Android实现截图功能(可根据该代码进行扩展功能)
- Android实现截图功能(可根据该代码进行扩展功能)
- android离开一个页面时关闭子线程
- android:Faild to install,你的主机中的软件终止了一个连接错误解决
- 怎么让android layout 优先 marginRight
- android layout的一些注意事项
- Android代码实现删除抛掷动画
- adb server is out of date. killing...
- Android度量单位说明(DIP,DP,PX,SP)
- Android 软引用
- Android Toast自定义
- Android 获取照相机图片或本地图片
- Android开发
- Android资料汇总
- Android开发环境搭建