zoukankan      html  css  js  c++  java
  • ndk编译so库

    新建一个android工程,cd到该工程目录下: javah -classpath bin/classes -d jni -jni com.archermind.contractmanager.Native

    红色字体代表native类所在的包名,native是声明的一个本地类

    class Native {
        static {
            // The runtime will add "lib" on the front and ".o" on the end of
            // the name supplied to loadLibrary.
            System.loadLibrary("reverse");
        }

        static native void reverse(char[] data);
    }

    执行后会在工程目录中增加一个jni的文件,里面有一个新生成的.h文件,其中由类的接口和返回值的说明,这与你在native类中的定义一致,如绿色部分。然后重命名文件并修改后缀类型,如.c或者.cpp。之后需要一个.mk文件来编译成so库。

    LOCAL_PATH := $(call my-dir)

    include $(CLEAR_VARS)

    LOCAL_MODULE    := reverse  //生成的so库名字
    LOCAL_SRC_FILES := reverse2.c//要编译的文件的名字

    include $(BUILD_SHARED_LIBRARY)

    之后cd到jni目录 执行:ndk-build 即可生成so库(前提是语法没有错误)

  • 相关阅读:
    GitHub具体教程
    hadoop 集群及hbase集群的pid文件存放位置
    MATLAB中导入数据:importdata函数
    MFCC可视化
    Html的空格显示
    CSS:CSS 颜色
    CSS:CSS 单位
    CSS:CSS 网络安全字体组合
    CSS3:CSS 听觉参考手册
    CSS:CSS 选择器参考手册
  • 原文地址:https://www.cnblogs.com/shuimo/p/2620064.html
Copyright © 2011-2022 走看看