您的位置:首页 > 移动开发 > Android开发

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语言的方法

 

       

             
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: