如何在我的应用程序中使用-assumenosideeffects类android.util.Log

时间:2011-06-20 08:29:15

标签: java android optimization proguard

我在我的应用中写-assumenosideeffects class android.util.Log。但是如何使用它。

-assumenosideeffects class android.util.Log 
{
    public static int d(...);
    public static int v(...);
    public static int i(...);
    public static int e(...);
}
proguard.cfg文件中

。但没有工作。

5 个答案:

答案 0 :(得分:7)

The manual-assumenosideffects"仅在优化" 时适用。

${sdk.dir}/tools/proguard/proguard-android.txt说:"默认情况下,优化已关闭。 Dex不喜欢通过ProGuard优化和预验证步骤" 的代码。

http://researcharea.blogspot.com/2012/04/assumenosideeffects-not-working-in.html

答案 1 :(得分:5)

根据@Sean Owen和@Yevgen Kulik的说法。

在Gradle中,请使用:

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

然后在下面添加到你的proguard-rules.pro

-assumenosideeffects class android.util.Log { public * ; }

答案 2 :(得分:3)

试试-assumenosideeffects class android.util.Log { public * ; }。如果这不起作用,请说明您认为它无效的原因。

答案 3 :(得分:1)

下面的内容完全适用

-assumenosideeffects class android.util.Log {

public static *** d(...);

}

同样,您可以使用i,v和e。

答案 4 :(得分:0)

忘了公开'访问修饰符?

-assumenosideeffects public class android.util.Log