Android Jni的简单使用详解

作者:人言落日是天涯 时间:2023-10-20 14:37:43 

需求介绍

相信大家在请求接口的时候,很多时候都是需要传参的,除了业务必要的字段外,还有一些恒定不变的字段,包括一些用来编码的固定字段。这些固定字段的值我们是不能直接写在项目工程中的。防止被别人反编译,抓包获取后,恶意请求,抓取我们的用户数据。

老规矩,先上图:

Android Jni的简单使用详解 

解决方法

这时候我们就可以利用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类目录必须是

Android Jni的简单使用详解

否则会调用不成功的。

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
0
投稿

猜你喜欢

  • Spring框架应用的权限控制系统详解

    2023-11-11 14:17:11
  • 简述Mybatis增删改查实例代码

    2023-03-06 18:07:53
  • Android 10 启动之servicemanager源码解析

    2023-05-16 15:04:53
  • C#异步编程Task的创建方式

    2023-07-23 06:22:43
  • 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
  • Spring Boot将项目打包成war包的操作方法

    2022-01-02 22:30:50
  • Android卫星菜单效果的实现方法

    2023-10-18 12:41:34
  • @RequestBody的使用案例代码

    2021-07-11 16:46:50
  • springboot中的pom文件 project报错问题

    2022-01-24 00:41:55
  • 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
  • asp之家 软件编程 m.aspxhome.com