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

1、ndk环境

4aa0ffd511301a9e73a15b3164b0b5cb.png

下载好箭头所指的插件

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();

}

编译项目

3008d1ee2d72c4103612dab0b873a700.png

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

1135aa2a401e13cf956c5add3b711571.png

此时打开终端,进入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文件

dd7e68923dd928a2d4f807c650cbec40.png

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

Android.mk文件

72f67721c2daf327494fa69e0a87261b.png

Application.mk文件

80347f76981341597f4ba8e3a28d37fd.png

build.gradle配置

8ea8f79b710c05094ada11af27e2c4cd.png

添加模块名称muduleName

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

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

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

7aa7085191cd2df6fed1b5d10c9b8a91.png

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

然后就可以使用

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值