Android Studio配置反混淆的實(shí)現(xiàn)
Android Studio如何混淆
為什么要混淆
了解安卓程序編譯的會(huì)知道 其實(shí)我們的apk并不是很安全,從apk從可以解包出,步驟:
將apk文件改成zip結(jié)尾 然后解壓zip 然后就會(huì)發(fā)現(xiàn)里面有一個(gè)classes.dex
dex2jar 這個(gè)工具將dex文件轉(zhuǎn)成jar下載地址:http://sourceforge.net/projects/dex2jar/files/用這個(gè)工具的命令 轉(zhuǎn)jar
d2j-dex2jar classes.dex
jd-gui 這個(gè)工具用于將jar轉(zhuǎn)成java代碼下載地址:http://jd.benow.ca/用這個(gè)工具打開classes-dex2jar.jar
因此最簡單的就是把java混淆了,讓別人看不懂
AS里面配置混淆
配置混淆
在build.gradle里面配置
release { minifyEnabled true //用于設(shè)置是否啟用混淆 proguardFiles getDefaultProguardFile(’proguard-android.txt’), ’proguard-rules.pro’}
打包后解出來的jar:
配置混淆規(guī)則
-dontusemixedcaseclassnames 表示混淆時(shí)不使用大小寫混合類名。-dontskipnonpubliclibraryclasses 表示不跳過library中的非public的類。-verbose 表示打印混淆的詳細(xì)信息。-dontoptimize 表示不進(jìn)行優(yōu)化,建議使用此選項(xiàng),因?yàn)楦鶕?jù)proguard-android-optimize.txt中的描述,優(yōu)化可能會(huì)造成一些潛在風(fēng)險(xiǎn),不能保證在所有版本的Dalvik上都正常運(yùn)行。-dontpreverify 表示不進(jìn)行預(yù)校驗(yàn)。這個(gè)預(yù)校驗(yàn)是作用在Java平臺(tái)上的,Android平臺(tái)上不需要這項(xiàng)功能,去掉之后還可以加快混淆速度。-keepattributes *Annotation* 表示對(duì)注解中的參數(shù)進(jìn)行保留。-keep public class com.google.vending.licensing.ILicensingService-keep public class com.android.vending.licensing.ILicensingService上面兩行表示不混淆上述兩個(gè)類-keep class com.tencent.wns.config.ConfigManager {*;}上面一行表示不混淆這整個(gè)類
到此這篇關(guān)于Android Studio如何混淆的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Android Studio 混淆內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. JAMon(Java Application Monitor)備忘記2. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)3. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法4. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法5. Docker容器如何更新打包并上傳到阿里云6. VMware中如何安裝Ubuntu7. Springboot 全局日期格式化處理的實(shí)現(xiàn)8. python 浮點(diǎn)數(shù)四舍五入需要注意的地方9. idea配置jdk的操作方法10. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問題
