安卓生成c语言动态库.so文件存放密钥

1、ndk环境

       

下载好箭头所指的插件

2.编写代码

编写JniUtil类

package com.svautolife.desaysv;

/**
 * Created by linmingxing on 2018/10/29 17:04
 */
public class JniUtil {
    static {
        System.loadLibrary("JniUtil");
    }

    public static native String getSslPwd();
}
编译项目

此时在app/build/intermediates/classes/debug/com/svautolife/desaysv位置会生成class文件

此时打开终端,进入app/src/main目录下输入命令:

java -d jni -classpath /Users/linmingxing/vehicle/Android_DesaySV/app/build/intermediates/classes/debug/com/svautolife/desaysv/JniUtil

此时会在jni文件夹中生成.h文件。在jni问价夹中再新建两个.mk文件和一个.c文件

将.h文件中的内容复制到.c文件中,并实现里面的方法。

Android.mk文件

 

Application.mk文件

 

build.gradle配置

添加模块名称muduleName

再次编译(build一下)项目。

打开终端,进入jni目录下,输入ndk-build进行编译。

若编译报错,则添加这个配置

此时jni下会出现libs和obj两个子文件夹。将自文件夹中的.so文件复制到jinLibs文件夹下对应的子文件夹中。

然后就可以使用

JniUtil.getSslPwd()调用动态库中的方法

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章