Android Jni的简单使用详解
作者:人言落日是天涯 时间:2023-10-20 14:37:43
需求介绍
相信大家在请求接口的时候,很多时候都是需要传参的,除了业务必要的字段外,还有一些恒定不变的字段,包括一些用来编码的固定字段。这些固定字段的值我们是不能直接写在项目工程中的。防止被别人反编译,抓包获取后,恶意请求,抓取我们的用户数据。
老规矩,先上图:
解决方法
这时候我们就可以利用Jni(Java Native Interface)来存储我们这些常量值,虽然也不是最安全的方式,但是也增加了反编译和抓包的难度。相对来说还是安全一点的。
具体做法就是:
① 新建一个工程,包名和你需要调用Jni的工程一样
② 在/src/main/路径下面新建一个jni目录,顺便新建一个c文件
③ 在c文件中写入相关代码
这里针对第三步,该如何存储重要字段值,具体代码如下:
#include <jni.h>
//格式为:Java_包名_类名_函数名(方法名)(调用jni的类的包名)
JNIEXPORT jstring JNICALL
Java_com_anxindeli_anxincow_tools_JniTool_strFromJni(JNIEnv *env, jclass type) {
return (*env)->NewStringUTF(env, "anxindeli_cow_ysdss_30ccoaea04e");
}
调用该so库的java类目录必须是
否则会调用不成功的。
JniTool代码:
public class JniTool {
static {
System.loadLibrary("str-jni");
}
public static native String strFromJni();
}
最后在Java中调用
JniTool.strFromJni()
就这样简单的一句就可以了。。。
来源:https://www.jianshu.com/p/601cd0fe3a2d
标签:Android,Jni
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Spring框架应用的权限控制系统详解
2023-11-11 14:17:11
![](https://img.aspxhome.com/file/2023/2/59332_0s.png)
简述Mybatis增删改查实例代码
2023-03-06 18:07:53
![](https://img.aspxhome.com/file/2023/1/65311_0s.png)
Android 10 启动之servicemanager源码解析
2023-05-16 15:04:53
C#异步编程Task的创建方式
2023-07-23 06:22:43
![](https://img.aspxhome.com/file/2023/1/66591_0s.png)
Android Glide图片加载(加载监听、加载动画)
2022-08-27 08:31:24
Spring Boot与Spark、Cassandra系统集成开发示例
2021-06-03 13:40:51
如何用C#找出数组中只出现了一次的数字
2021-06-15 15:42:56
Java emoji持久化mysql过程详解
2023-10-10 23:11:49
WinForm自定义函数FindControl实现按名称查找控件
2021-09-23 17:27:25
Android 自定义imageview实现图片缩放实例详解
2023-03-08 10:56:08
![](https://img.aspxhome.com/file/2023/0/125530_0s.png)
Spring Boot将项目打包成war包的操作方法
2022-01-02 22:30:50
Android卫星菜单效果的实现方法
2023-10-18 12:41:34
![](https://img.aspxhome.com/file/2023/3/115983_0s.gif)
@RequestBody的使用案例代码
2021-07-11 16:46:50
springboot中的pom文件 project报错问题
2022-01-24 00:41:55
![](https://img.aspxhome.com/file/2023/9/62519_0s.png)
Java多线程编程之访问共享对象和数据的方法
2022-10-01 07:05:02
RegexOptions.IgnoreCase正则表达式替换,忽略大小写
2022-05-03 17:25:45
Java基础知识之StringWriter流的使用
2023-01-19 00:47:52
详解使用JavaCV/OpenCV抓取并存储摄像头图像
2023-05-08 07:23:31
浅谈多线程中的锁的几种用法总结(必看)
2021-12-23 08:05:55
Java的接口调用时的权限验证功能的实现
2023-08-09 11:15:06
![](https://img.aspxhome.com/file/2023/0/70560_0s.png)