混淆的坑

今天遇到個bug:
realse下的包js交互不成功,debug包正常初步判定是混淆的問題,
發現使用到了一個內部類,
在混淆文件中,加上這句之後就正常了
-keepnames public class XXXX.base.BaseWebActivity$* {
private ;//所有私有的字段
public ;//所有私有的方法
}

或者
-keepnames public class XXXX.base.BaseWebActivity$* {
private ;//當用在類內部時 匹配任何字段和方法
public *;
}
總結,保留內部類的方法-keepnames public class XXXX.base.BaseWebActivitykeepnamespublicclassXXXX.base.BaseWebActivity 具體的類名
這個內部類需要申明爲public如果這個內部類修飾符是private或default 那麼對應的可以
去掉修飾符-keepnames class XXXX.base.BaseWebActivity(:keepnamesprivateclassXXXX.base.BaseWebActivity *混淆不通過直接報錯)
另外附上一個關於混淆的詳細介紹:https://segmentfault.com/a/1190000004461614

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章