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