zoukankan      html  css  js  c++  java
  • android studio的jni和so

    1. android studio自己添加代码生成so

    代码地址:https://github.com/maogefff/Android-Test-Sample/tree/master/MyJni

    参考资料:https://www.2cto.com/kf/201607/526887.html

         http://blog.csdn.net/yanbober/article/details/45310589   (jni用法实例)

    注意两点:(不然都生成不了so文件)

    1. 名字之间不要有空格

    2. 生成的so名字不要跟JAVA类重名

    步骤1:修改ndk的路径(其实也可以不修改,使用默认下好的就行)

    ndk.dir=E:\AndroidStudio\android-ndk-r14b

    步骤2:

    android.useDeprecatedNdk=true

     步骤3:

    ndk{
                moduleName "myjniso"         //生成的so名字
    //            abiFilters = ['armeabi']
                abiFilters "armeabi", "armeabi-v7a", "x86"  //输出指定三种abi体系结构下的so库。目前可有可无。
            }

    步骤4:添加一个JAVA类,然后make project;这个时候在中间文件MyJniappuildintermediatesclassesdebug就会产生相应的类

    步骤5:进入中间文件,使用javah,就会在当前文件夹下产生.h文件

    F:	estMyJniappuildintermediatesclassesdebug>cd F:	estMyJniappuildintermediatesclassesdebug

    javah com.example.myjni.JniTest

    注意:在这一步不一定能成功,我之前这样操作没问题,但是在重装系统以后就不行了,不同版本的JDK的javah有一定的差别:(2017.12.13)

    JDK1.8的使用为:

    C:UsersaplexDesktop1Android-Test-SampleMyJniappuildintermediatesclassesdebug>javah -classpath . com.example.myjni.JniTest

    步骤6: 在源码src下新建立一个jni文件夹,将.h头文件拷贝进去,然后写一个.c文件,去实现.h里面的函数

     

    #include "com_example_myjni_JniTest.h"
    
    JNIEXPORT jstring JNICALL Java_com_example_myjni_JniTest_HelloJni
    (JNIEnv * env, jobject obj){
      return (*env)->NewStringUTF(env,"HelloJni");
    }

    步骤7: 编译后生产so文件了

    2. 直接使用已经编写好的so文件

    接着上面的步骤

    步骤1: 删除app下的build目录,然后重启android studio

    步骤2:如果是使用别人的so,则自己写一个java类一定要和so文件名对应的上

    步骤3:建立jniLibs文件夹,将之前build目录下的so拷贝进来

    步骤4:删除gradle下面的ndk生成so或者换一个名字

  • 相关阅读:
    mysql报错:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
    MD5登陆密码的生成
    15. 3Sum、16. 3Sum Closest和18. 4Sum
    11. Container With Most Water
    8. String to Integer (atoi)
    6. ZigZag Conversion
    5. Longest Palindromic Substring
    几种非线性激活函数介绍
    AI初探1
    AI初探
  • 原文地址:https://www.cnblogs.com/maogefff/p/8021795.html
Copyright © 2011-2022 走看看