Android Studio配置反混淆的實現(xiàn)
Android Studio如何混淆
為什么要混淆
了解安卓程序編譯的會知道 其實我們的apk并不是很安全,從apk從可以解包出,步驟:
將apk文件改成zip結尾 然后解壓zip 然后就會發(fā)現(xiàn)里面有一個classes.dex
dex2jar 這個工具將dex文件轉成jar
下載地址:http://sourceforge.net/projects/dex2jar/files/
用這個工具的命令 轉jar
d2j-dex2jar classes.dex
jd-gui 這個工具用于將jar轉成java代碼
下載地址:http://jd.benow.ca/
用這個工具打開classes-dex2jar.jar
因此最簡單的就是把java混淆了,讓別人看不懂
AS里面配置混淆
配置混淆
在build.gradle里面配置
release { minifyEnabled true //用于設置是否啟用混淆 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }
打包后解出來的jar:
配置混淆規(guī)則
-dontusemixedcaseclassnames 表示混淆時不使用大小寫混合類名。 -dontskipnonpubliclibraryclasses 表示不跳過library中的非public的類。 -verbose 表示打印混淆的詳細信息。 -dontoptimize 表示不進行優(yōu)化,建議使用此選項,因為根據(jù)proguard-android-optimize.txt中的描述,優(yōu)化可能會造成一些潛在風險,不能保證在所有版本的Dalvik上都正常運行。 -dontpreverify 表示不進行預校驗。這個預校驗是作用在Java平臺上的,Android平臺上不需要這項功能,去掉之后還可以加快混淆速度。 -keepattributes *Annotation* 表示對注解中的參數(shù)進行保留。 -keep public class com.google.vending.licensing.ILicensingService -keep public class com.android.vending.licensing.ILicensingService 上面兩行表示不混淆上述兩個類 -keep class com.tencent.wns.config.ConfigManager {*;} 上面一行表示不混淆這整個類
到此這篇關于Android Studio如何混淆的實現(xiàn)的文章就介紹到這了,更多相關Android Studio 混淆內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何使用Flutter實現(xiàn)58同城中的加載動畫詳解
這篇文章主要給大家介紹了關于如何使用Flutter實現(xiàn)58同城中加載動畫詳?shù)南嚓P資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Flutter具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-10-10詳解Android Studio正式簽名進行調試的實現(xiàn)步驟
這篇文章主要介紹了詳解Android Studio正式簽名進行調試的實現(xiàn)步驟的相關資料,需要的朋友可以參考下2017-07-07Android開發(fā)之進度條ProgressBar的示例代碼
本篇文章主要介紹了Android開發(fā)之進度條ProgressBar的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03Android 8.0系統(tǒng)中應用圖標的適配微技巧
這篇文章主要介紹了Android 8.0系統(tǒng)中應用圖標的適配微技巧 ,需要的朋友可以參考下2018-04-04詳解Android WebView的input上傳照片的兼容問題
本篇文章主要介紹了詳解Android WebView的input上傳照片的兼容問題,非常具有實用價值,需要的朋友可以參考下2017-08-08android獲取圖片尺寸的兩種方式及bitmap的縮放操作
這篇文章主要介紹了android獲取圖片尺寸的兩種方式及bitmap的縮放操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08