我在我的应用中写-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
文件中。但没有工作。
答案 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