ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android – 仅使用Proguard禁用日志记录和缩小资源

2019-07-11 13:26:46  阅读:236  来源: 互联网

标签:android proguard android-gradle android-proguard


的build.gradle:

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.SginConfig
        }
}

我不希望Proguard优化或混淆我的代码,因为它给我带来了很多麻烦.我只想删除日志调用并启用缩小未使用的资源.

proguard-rules.pro:

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

将上面的代码添加到proguard-rules.pro只有在我将getDefaultProguardFile(‘proguard-android.txt’)设置为(‘proguard-android-optimize.txt’)时才能工作

但是通过将其设置为proguard-android-optimize.txt将启用我不想要的优化标志.

那么如何在没有Proguard对我的代码进行任何缩小或优化的情况下禁用日志记录和缩小资源呢?

解决方法:

您应该能够通过仅启用特定的Proguard优化来实现这一点,这些优化可能会影响到它们的影响.它依赖的两个是:

> code / removal / simple:基于简单的控制流分析删除死代码.
> code / removal / advanced:根据控制流分析和数据流分析删除死代码.

您可以阅读有关不同优化选项here的更多信息.所以这样的事情应该有效:

proguard-rules.pro

-optimizations code/removal/simple,code/removal/advanced
-dontobfuscate
-assumenosideeffects class android.util.Log {
    public static boolean isLoggable(java.lang.String, int);
    public static int w(...);
    public static int d(...);
    public static int e(...);
}

的build.gradle

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.SginConfig
        }
}

标签:android,proguard,android-gradle,android-proguard
来源: https://codeday.me/bug/20190711/1432494.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有