android studio新增混淆
1,在build.grandle新增,其中規則寫在proguard-rules.pro中,也可以自定義乙個檔案,將其代替,比如eclipse常用的 proguard-project.txt
buildtypes
}
2,在proguard-rules.pro中加入以下**,基本可以涵蓋所有
-
optimizationpasses
5# 指定**的壓縮級別
-dontusemixedcaseclassnames
# 是否使用大小寫混合
-dontpreverify
-verbose
# 混淆時是否記錄日誌
-optimizations
!code
/simplification
/arithmetic
,!field
/*,!
class
/merging
/*
# 混淆時所採用的演算法
#以下android的基本類需要保證其不被混淆
-keep public
class
* extends
android..
activity
# 保持哪些類不被混淆
-keep public
class
* extends
android..
# 保持哪些類不被混淆
-keep public
class
* extends
android..
service
# 保持哪些類不被混淆
-keep public
class
* extends
android
.content
.broadcastreceiver
# 保持哪些類不被混淆
-keep public
class
* extends
android
.content
.contentprovider
# 保持哪些類不被混淆
-keep public
class
* extends
android..
backup
.backupagenthelper
# 保持哪些類不被混淆
-keep public
class
* extends
android
.preference
.preference
# 保持哪些類不被混淆
-keep public
class
com.
android
.vending
.licensing
.ilicensingservice
# 保持哪些類不被混淆
#native方法不能被混淆
-keepclasseswithmembernames
class* -
keepclasseswithmembers
class* -
keepclasseswithmembers
class* -
keepclassmembers
class
* extends
android..
activity
-keepclassmembers enum *
-keep
class
* implements
android.os
.parcelable
#其他針對於jar包也是不可以被混淆的
通常通過-dontwarn和-keep保證其jar包中的類不被混淆
#同樣r檔案也是不能被混淆的,需要注意,所有應用到反射的**都是不可以被混淆的,混淆會導致其變數名與類名改變,因此在反射時會因無法找到其類名而出錯。
關於 Android 混淆處理
因為像 google play 強制要求開發者上傳的應用必須是經過 zipalign 的,zipalign 可以讓安裝包中的資源按 4 位元組對齊,這樣可以減少應用在執行時的記憶體消耗。ignorewarnings 作用是忽略混淆時出現的警告混淆的常見配置 keep class com.xx.x.b...
Android混淆問題
解決方法 本選項的作用 指定的jar會被打包,但是不會被混淆 jar的依賴一樣會被混淆,依然會檢查引用的類 方法 字段 解決方法 keepattributes signature 解決方法 對於proguard,不要使用keepresourcexmlelements選項 原因 出錯的行 keepcl...
Android混淆心得
最近在做android應用的混淆,踩了一些坑,這裡記錄分享下個人的心得。首先先簡單說一下什麼是混淆和混淆的作用,其實這個搜尋下可以找到一堆官方的說法等等,這裡簡單口語敘述一下,混淆就是把 替換成a b c基本字母組成的 比如乙個方法名為 function 混淆後可能會被替換成a 混淆的好處 前者只能...