Android Jni的簡單使用詳解
需求介紹
相信大家在請求接口的時候,很多時候都是需要傳參的,除了業(yè)務(wù)必要的字段外,還有一些恒定不變的字段,包括一些用來編碼的固定字段。這些固定字段的值我們是不能直接寫在項目工程中的。防止被別人反編譯,抓包獲取后,惡意請求,抓取我們的用戶數(shù)據(jù)。
老規(guī)矩,先上圖:
解決方法
這時候我們就可以利用Jni(Java Native Interface)來存儲我們這些常量值,雖然也不是最安全的方式,但是也增加了反編譯和抓包的難度。相對來說還是安全一點(diǎn)的。
具體做法就是:
① 新建一個工程,包名和你需要調(diào)用Jni的工程一樣
② 在/src/main/路徑下面新建一個jni目錄,順便新建一個c文件
③ 在c文件中寫入相關(guān)代碼
這里針對第三步,該如何存儲重要字段值,具體代碼如下:
#include <jni.h>
//格式為:Java_包名_類名_函數(shù)名(方法名)(調(diào)用jni的類的包名)
JNIEXPORT jstring JNICALL
Java_com_anxindeli_anxincow_tools_JniTool_strFromJni(JNIEnv *env, jclass type) {
return (*env)->NewStringUTF(env, "anxindeli_cow_ysdss_30ccoaea04e");
}
調(diào)用該so庫的java類目錄必須是

否則會調(diào)用不成功的。
JniTool代碼:
public class JniTool {
static {
System.loadLibrary("str-jni");
}
public static native String strFromJni();
}
最后在Java中調(diào)用
JniTool.strFromJni()
就這樣簡單的一句就可以了。。。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺析Android手機(jī)衛(wèi)士接收短信指令執(zhí)行相應(yīng)操作
通過廣播接收者,接收到短信,對短信內(nèi)容進(jìn)行判斷,如果為我們指定的值就執(zhí)行相應(yīng)的操作。本文給大家介紹Android手機(jī)衛(wèi)士接收短信指令執(zhí)行相應(yīng)操作,感興趣的朋友參考下吧2016-04-04
Android中實現(xiàn)在矩形框中輸入文字顯示剩余字?jǐn)?shù)的功能
在矩形輸入框框中輸入文字顯示剩余字?jǐn)?shù)的功能在app開發(fā)中經(jīng)常會見到,今天小編就通過實例代碼給大家分享android實現(xiàn)輸入框提示剩余字?jǐn)?shù)功能,代碼簡單易懂,需要的朋友參考下吧2017-04-04
Android RetainFragment狀態(tài)保存的方法
本篇文章主要介紹了Android RetainFragment狀態(tài)保存的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
Android UI 實現(xiàn)老虎機(jī)詳解及實例代碼
這篇文章主要介紹了Android UI 實現(xiàn)老虎機(jī)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
Android自定義控件ScrollView實現(xiàn)上下滑動功能
這篇文章主要為大家詳細(xì)介紹了Android自定義控件ScrollView實現(xiàn)上下滑動功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
Android 使用Vitamio打造自己的萬能播放器(9)—— 在線播放 (在線電視)
本文主要介紹Android 使用Vitamio開發(fā)播放器,實現(xiàn)在線電視播放,這里提供效果圖和實例代碼以便大家參考,2016-07-07
Android 內(nèi)存溢出和內(nèi)存泄漏的問題
這篇文章主要介紹了Android 內(nèi)存溢出和內(nèi)存泄漏的問題的相關(guān)資料,需要的朋友可以參考下2017-03-03

