我在我的proguard规则中使用下面的代码来删除我在编译发行版apk之前可能已经离开的任何log.d。
> -assumenosideeffects class android.util.Log {
> public static *** d(...);
> public static *** v(...); }
有没有办法为所有木材原木做到这一点?
Timber.w("This shouldn't show in release apk when decompiled");
答案 0 :(得分:0)
同样的方法 - 但使用Timber
类而不是Log
- 不起作用吗?例如:
-assumenosideeffects class timber.log.Timber* {
public static *** v(...);
public static *** d(...);
public static *** i(...);
}
或者,您可以关注sample project并执行以下操作:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) {
Timber.plant(new DebugTree());
} else {
Timber.plant(new ProductionTree());
}
}
private static class ProductionTree extends Timber.Tree {
@Override
protected void log(int priority, String tag, String message, Throwable t) {
// Do whatever (or nothing) here.
}
}
}