Android Jack Compiler不从proguard规则中删除日志

时间:2016-06-20 21:29:07

标签: android logging proguard android-jack-and-jill

我尝试过使用:

-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中删除日志中的字符串吗?

1 个答案:

答案 0 :(得分:1)

使用Jack编译器工具链时,不会使用ProGuard。相反,杰克将使用自己的工具来应用指定的规则。

并非所有ProGuard规则都受支持(请参阅支持directives):-assumenosideeffects 支持。

注意:DexGuard,ProGuard的商业版本支持ProGuard的所有指令,可以从版本7.2开始与Jack一起使用,将在1-2周内发布。