[問題] AS混淆後class不見
再出AAR時把混淆開啟後,得到的AAR內確有class都不見的狀況
想再確認下面幾點疑問
1.爬文後知道應該可以從ProGuard設定混淆規則來修改一些類要不要混淆?
2.為什麼class會不見,爬文有看到似乎可能是該class內的code關聯性不高?被混淆優化掉?
需要麻煩各位前輩幫忙 謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.32.32
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1505275785.A.C58.html
→
09/13 12:53, , 1F
09/13 12:53, 1F
→
09/13 12:54, , 2F
09/13 12:54, 2F
→
09/13 12:55, , 3F
09/13 12:55, 3F
→
09/13 15:34, , 4F
09/13 15:34, 4F
→
09/13 15:47, , 5F
09/13 15:47, 5F
→
09/13 15:48, , 6F
09/13 15:48, 6F
→
09/13 15:49, , 7F
09/13 15:49, 7F
謝謝ssccg大,後來聽您說明我試了這個可以混淆且不會不見..
-keep public class com.example.mylibrary.classA{*;}
想再請教如何
在同一class內讓public的method有保護但private的method不保護呢? 關於寫法
※ 編輯: goodsheng (114.42.32.32), 09/13/2017 17:20:50
→
09/13 17:24, , 8F
09/13 17:24, 8F
→
09/13 17:24, , 9F
09/13 17:24, 9F
→
09/13 17:27, , 10F
09/13 17:27, 10F
→
09/13 17:28, , 11F
09/13 17:28, 11F
→
09/13 17:28, , 12F
09/13 17:28, 12F
→
09/13 17:29, , 13F
09/13 17:29, 13F
→
09/13 17:30, , 14F
09/13 17:30, 14F
→
09/13 17:30, , 15F
09/13 17:30, 15F
→
09/13 17:30, , 16F
09/13 17:30, 16F
有試成功了,謝謝ssccg大!
-keep public class com.example.mylibrary.classA{ public *;}
public int cfunction3() {
int var1 = this.a();
byte var2 = 5;
return var2;
}
private int a() {
byte var1 = 5;
return var1;
}
另外剛試了,想額外確認一下。是不是假如這樣定義其實是不太有意義的?
-keep public class com.example.mylibrary.classB{ private *;}
因為假如classB內的public method沒被別的class用到的話,那就會不見了。
會造成包成jar後要用時,卻沒辦法給拉public method。自己這樣想不知是否是這樣呢?
※ 編輯: goodsheng (114.42.32.32), 09/13/2017 18:08:06
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章