zoukankan      html  css  js  c++  java
  • android下调用C,JNI调用

    1.eclipse中声明调用的C函数  com.example.test.MainActivity

       public native long RucMyfunction(int w,int h,int[] myarray);

    2.利用 javah.exe  生成  C的头文件

      进入到工程目录(假设为test)  javah -classpath .src -d jni  com.example.test.MainActivity 。 .src 表示当前目录下的src 目录

     执行后当前目录test下生产jni文件下,内有com_example_test_MainActivity.h,其中声明了函数 Java_com_example_test_MainActiviy_RunMyfunction,实现的时候就按这个原型写函数名。

    3.实现C函数,jni目录下新建Main.c

    4.linux下使用NDK编译Main.c生成.so库

       jni文件夹下Android.mk:

       LOCAL_MODULE    := test //生成的库名字
      LOCAL_SRC_FILES := Main.c
    //编译的源文件

      linux下进入jni目录,输入$NDK/ndk-build编译,会在test目录下生成libs目录和libtest.so

    5.eclipse中调用

      类中声明

          static{
                System.loadLibrary("test");
        }

     OnCreate函数中调用:

     long i = RucMyfunction(w,h,array);

     

      

  • 相关阅读:
    solr 的全量更新与增量更新
    solr 服务器的搭建
    Mysql 问题
    App 微信支付
    App 支付宝支付
    Linux 常见命令
    [备注] 钉钉使用教程
    PARAMETER和ARGUMENT的区别
    无界面浏览器
    URLs ...
  • 原文地址:https://www.cnblogs.com/mlj318/p/4503575.html
Copyright © 2011-2022 走看看