3

我试过使用:

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

4

1 回答 1

1

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

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

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

于 2016-06-21T11:16:36.233 回答