我正在嘗試使用 R8/Proguard 洗掉日志記錄,并且我使用了
-assumenosideeffects class android.util.Log {
v(...);
d(...);
i(...);
w(...);
e(...);
}
這作業正常。嘗試洗掉自定義登錄時出現的問題com.mypackage:
-assumenosideeffects class com.mypackage.MyCustomLogger {
v(...);
d(...);
i(...);
w(...);
e(...);
}
我有一個規則,使公共類的所有公共方法都來自com.mypackage:
-keep, allowoptimization public class com.mypackage.** {
public *;
}
由于專案范圍,我無法洗掉。這條規則似乎覆寫了這條assumenosideeffects規則,這是我的問題:我如何指定這條保留規則的例外?我知道這個-if選項,但我還沒有看到它在任何地方用于否定。我試過-if class !com.mypackage.Logger在-keep規則之前寫作,但構建花費了大量的時間并且永遠不會完成。
uj5u.com熱心網友回復:
我找到了答案,我需要在保持規則中添加我的 Logger 類,如下所示:
-keep, allowoptimization public class !com.mypackage.MyCustomLogger, com.mypackage.** {
public *;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/362410.html
標籤:安卓 例外 日志记录 扰乱者 android-r8
上一篇:如何撰寫從std::invalid_argument派生的自定義例外類?
下一篇:拋出例外而沒有任何真正的錯誤?
