Android Jni的簡單使用詳解
需求介紹
相信大家在請求接口的時候,很多時候都是需要傳參的,除了業(yè)務必要的字段外,還有一些恒定不變的字段,包括一些用來編碼的固定字段。這些固定字段的值我們是不能直接寫在項目工程中的。防止被別人反編譯,抓包獲取后,惡意請求,抓取我們的用戶數(shù)據(jù)。
老規(guī)矩,先上圖:
解決方法
這時候我們就可以利用Jni(Java Native Interface)來存儲我們這些常量值,雖然也不是最安全的方式,但是也增加了反編譯和抓包的難度。相對來說還是安全一點的。
具體做法就是:
① 新建一個工程,包名和你需要調用Jni的工程一樣
② 在/src/main/路徑下面新建一個jni目錄,順便新建一個c文件
③ 在c文件中寫入相關代碼
這里針對第三步,該如何存儲重要字段值,具體代碼如下:
#include <jni.h>
//格式為:Java_包名_類名_函數(shù)名(方法名)(調用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()
就這樣簡單的一句就可以了。。。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
CoordinatorLayout的使用如此簡單(Android)
這篇文章主要為大家詳細介紹了Android CoordinatorLayout的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
Android EditText實現(xiàn)分割輸入內容
這篇文章主要為大家詳細介紹了Android EditText實現(xiàn)分割輸入內容的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Android 使用ViewPager實現(xiàn)左右循環(huán)滑動及輪播效果
ViewPager是一個常用的Android組件,不過通常我們使用ViewPager的時候不能實現(xiàn)左右無限循環(huán)滑動,在滑到邊界的時候會看到一個不能翻頁的動畫,可能影響用戶體驗,接下來通過本文給大家介紹Android 使用ViewPager實現(xiàn)左右循環(huán)滑動及輪播效果,一起看看吧2017-02-02
Android實現(xiàn)背景可滑動登錄界面 (不壓縮背景彈出鍵盤)
這篇文章主要介紹了Android實現(xiàn)背景可滑動登錄界面 (不壓縮背景彈出鍵盤),需要的朋友可以參考下2017-04-04

