android 调用自己写的C函数库 代码

来源:互联网 发布:重新安装centos 编辑:程序博客网 时间:2024/06/05 16:44

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

 

       
             

原创粉丝点击