我尝试过使用:
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
在Proguard中删除日志,如果我没有使用新的Jack编译器,它会很有效
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
当我编译apk时,我注意到所有日志在生产版本中都处于活动状态。是否有错误,错误或是" -assumenosideeffects"还不支持吗?
我可以在最终的apk中删除日志中的字符串吗?
答案 0 :(得分:1)
使用Jack编译器工具链时,不会使用ProGuard。相反,杰克将使用自己的工具来应用指定的规则。
并非所有ProGuard规则都受支持(请参阅支持directives):-assumenosideeffects
不支持。
注意:DexGuard,ProGuard的商业版本支持ProGuard的所有指令,可以从版本7.2开始与Jack一起使用,将在1-2周内发布。