Android Jni的简单使用详解
时间:2019-04-13
本文章向大家介绍Android Jni的简单使用详解,主要包括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类目录必须是
否则会调用不成功的。
JniTool代码:
public class JniTool { static { System.loadLibrary("str-jni"); } public static native String strFromJni(); }
最后在Java中调用
JniTool.strFromJni()
就这样简单的一句就可以了。。。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JS原型继承和类式继承
- 在Servlet的init方法中创建线程
- TensorFlow从0到1丨第2篇:TensorFlow核心编程
- AngularJS中的按需加载ocLazyLoad
- AngularJS driective 封装 自动滚动插件
- java类过滤器,防止页面SQL注入
- Web项目添加Maven支持
- Jquery 获取第一个子元素
- Dropwizard框架入门
- Java 解析Excel文件为JSON
- SQL语句大小写是否区分的问题,批量修改整个数据库所有表所有字段大小写
- CentOS 6.5 安装nginx 1.6.3
- C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密
- MyBatis两张表字段名相同产生的问题
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【STM32H7】第7章 RL-TCPnet V7.X网络协议栈移植(RTX5)
- TinyMCE 富文本编辑器的使用实例指导
- dotnet 在国产 UOS 系统利用 dotnet tool 工具做文件传输
- [白话解析] 深入浅出支持向量机(SVM)之核函数
- C# 线程同步之事件信号阻塞 AutoResetEvent
- [白话解析] 深入浅出最大熵模型
- [白话解析] 带你一起梳理Word2vec相关概念
- 利用SSE服务器主动向浏览器端发送消息
- [白话解析] Flink的Watermark机制
- [源码分析] 从源码入手看 Flink Watermark 之传播过程
- [白话解析]以水浒传为例学习隐马尔可夫模型
- [白话解析]用水浒传为例学习最大熵马尔科夫模型
- [白话解析] 用水浒传为例学习条件随机场
- 03.Android崩溃Crash库之ExceptionHandler分析
- 04.Android崩溃Crash库之Loop拦截崩溃和ANR