瞭解安卓程序編譯的會知道 其實咱們的apk並非很安全,從apk從能夠解包出,步驟:java
將apk文件改爲zip結尾 而後解壓zip 而後就會發現裏面有一個classes.dexandroid
dex2jar 這個工具將dex文件轉成jar
下載地址:http://sourceforge.net/projects/dex2jar/files/
用這個工具的命令 轉jarios
d2j-dex2jar classes.dex
所以最簡單的就是把java混淆了,讓別人看不懂git
在build.gradle裏面配置github
release { minifyEnabled true //用於設置是否啓用混淆 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }
打包後解出來的jar:
android-studio
-dontusemixedcaseclassnames 表示混淆時不使用大小寫混合類名。 -dontskipnonpubliclibraryclasses 表示不跳過library中的非public的類。 -verbose 表示打印混淆的詳細信息。 -dontoptimize 表示不進行優化,建議使用此選項,由於根據proguard-android-optimize.txt中的描述,優化可能會形成一些潛在風險,不能保證在全部版本的Dalvik上都正常運行。 -dontpreverify 表示不進行預校驗。這個預校驗是做用在Java平臺上的,Android平臺上不須要這項功能,去掉以後還能夠加快混淆速度。 -keepattributes *Annotation* 表示對註解中的參數進行保留。 -keep public class com.google.vending.licensing.ILicensingService -keep public class com.android.vending.licensing.ILicensingService 上面兩行表示不混淆上述兩個類 -keep class com.tencent.wns.config.ConfigManager {*;} 上面一行表示不混淆這整個類
我的簡介:高級開發工程師,興趣和領域(Unity、Unreal、cocos creator、安卓終端開發、ios終端開發、音視頻開發、圖形學),歡迎加W:wlxklyh 探討問題。(歡迎star:https://github.com/wlxklyh/SoftRenderer)安全