我试图禁用所有日志
-assumenosideeffects class android.util.Log {
public static *** v(...);
public static *** i(...);
public static *** w(...);
public static *** d(...);
public static *** e(...);
}
-assumenosideeffects class android.util.Log { *; }
但是当我说话的时候
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
构建faild错误
UNEXPECTED TOP-LEVEL EXCEPTION:
Error:java.lang.InterruptedException: Too many errors
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:600)
... 4 more
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'/ Library / Java / JavaVirtualMachines/jdk1.8.0_66 .jdk / Contents / Home / bin / java''以非零退出值2结束
使用这个proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'它的构建但是日志是可见的
建议的解决方案是使用最新的编译器从源代码重新编译类,而不指定任何"-target"类型选项 . 忽略此警告的后果是,对此类的反射操作将错误地指示它不是内部类 .
未捕获的转换错误:com.android.dx.cf.code.SimException:局部变量类型不匹配:尝试使用int类型的局部变量设置或访问java.lang.Object类型的值 . 这是忽略局部变量信息的.class转换工具的症状 .
2 回答
请在优化过程中使用以下
proguard
作为参考,本机方法需要保持原样 .希望这可以帮助 .
您可以尝试在包
com.example.mylog
中创建一个虚拟Log
类,其中NOP为v,i,w,d,e
,然后使用此proguard重新映射有选项
-applymapping