问题
I write -assumenosideeffects class android.util.Log in my app. but how to use this.
-assumenosideeffects class android.util.Log
{
public static int d(...);
public static int v(...);
public static int i(...);
public static int e(...);
}
in proguard.cfg file. but not working.
回答1:
The manual says -assumenosideffects is "Only applicable when optimizing".
${sdk.dir}/tools/proguard/proguard-android.txt says: "Optimization is turned off by default. Dex does not like code run through the ProGuard optimize and preverify steps".
http://researcharea.blogspot.com/2012/04/assumenosideeffects-not-working-in.html
回答2:
According to @Sean Owen and @Yevgen Kulik.
In Gradle, use this:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Then add below to your proguard-rules.pro
-assumenosideeffects class android.util.Log { public * ; }
回答3:
Try -assumenosideeffects class android.util.Log { public * ; }. If that doesn't work, post why you think it isn't working.
回答4:
The below one works exactly
-assumenosideeffects class android.util.Log {
public static *** d(...);
}
Similarly you can use i, v and e.
回答5:
Forgot 'public' access modifier?
-assumenosideeffects public class android.util.Log
来源:https://stackoverflow.com/questions/6408574/how-to-use-assumenosideeffects-class-android-util-log-in-my-app