1、app/build下配置如下

    buildTypes {        debug {            minifyEnabled true            buildConfigField("boolean","LOG_DEBUG","true")        }        release {            minifyEnabled true            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'            buildConfigField("boolean","LOG_DEBUG","false")        }    }

proguard-rules.pro下配置如下:

-assumenosideeffects class android.util.Log {    public static *** d(...);    public static *** e(...);    public static *** i(...);    public static *** v(...);    public static *** println(...);    public static *** w(...);    public static *** wtf(...);}-assumenosideeffects class *****(包名).DebugLog {    public static *** d(...);    public static *** e(...);    public static *** i(...);    public static *** v(...);    public static *** println(...);    public static *** w(...);    public static *** wtf(...);}-assumenosideeffects class java.io.PrintStream {  public *** println(...);  public *** print(...);}

最后发现,在自己写的demo里明明是可以实现混淆log的,但是放到实际项目中确不能混淆,网上查资料,发现:

1、需要使用的是proguard-android-optimize.txt这个文件,不是Android Studio默认使用的proguard-android.txt2、不能有“-dontoptimize”这句话 一定要将其注释掉;

检查后发现也没有错误,网上查阅了几乎所有文章也没有得出结论,最后在一次次试错中发现,如果导入的jar包或者aar文件中存在禁止优化“-dontoptimize”的话,也会导致整个工程不能优化log,所以要将aar包中的“-dontoptimize”也去掉才行,特此记录一下,如果对你有帮助,给点个赞呗0.0

更多相关文章

  1. android studio编译aidl文件出现问题
  2. Android 下载网络url文件并显示进度
  3. 【Android】向sdcard中写入文件
  4. Android 解析CSV文件,中文乱码
  5. android 打开各种文件的方式
  6. iOS、Android获取文件头信息
  7. Android通过Uri获取文件的路径的方法
  8. 【Android】使用Git控制Android程序的gitignore文件
  9. Android ListActivity实现遍历文件列表,查看文档类文件

随机推荐

  1. 在PHP和MySQL中同时插入来自多个表单的多
  2. 关于php的命名空间
  3. 在解释语言上使用非常大的整数时,会产生意
  4. php 封装原生数据导出的方法
  5. php老提示 Undefined variable: 的解决办
  6. mysqli不执行Select语句
  7. PHP 中 new static 和 new self 的区别
  8. advertising.php源代码分析
  9. PHP rss阅读器不起作用
  10. 学习成绩统计-【数组操作】