android开发分享使用proguard删除日志通话

我正在尝试使用proguard去除所有的日志:我在我的proguard-project.txt文件中input了以下行:

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

而我的project.properties看起来像这样:

 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 

尽pipe如此,日志仍然显示在我的应用程序。 我在这里做错了什么?

    你不应该指定'*'通配符,因为它包括像'Object#wait()'这样的方法。 更好地明确列出方法:

     -assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); } 

    这个选项只有在proguard-android.txt优化时才proguard-android.txt ,就像在proguard-android.txt 。 你必须指定proguard-android-optimize.txt

     proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt 

    或与当代的Android Gradle插件

     buildTypes { releaseSomeBuildType { ... proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'your-proguard-file.pro' } } 

    这是相当晚,我遇到了同样的问题。 我正在使用Android Studio 1.3,这是我所做的。

    这是因为在proguard-android.txt ,默认情况下使用标志closures优化

     -dontoptimize -dontpreverify 

    这对我有用,希望能帮助别人。

    你需要这样做:

     -assumenosideeffects class android.util.Log { public static int d(...); public static int v(...); public static int i(...); public static int w(...); public static int e(...); public static int wtf(...); } 

    并展开您正在使用的所有日志方法。

      以上就是android开发分享使用proguard删除日志通话相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/518501.html

      (0)
      上一篇 2020年12月6日
      下一篇 2020年12月6日

      精彩推荐