【问题标题】:How to turn off only the obfuscation in Android R8?如何仅关闭 Android R8 中的混淆功能?
【发布时间】:2019-01-22 10:58:27
【问题描述】:

我使用 Android Studio 3.3 Canary 5、Gradle 4.9、gradle 插件 3.3.0-alpha05

minifyEnabled true
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

不起作用。


编辑:

@JakeWharton:“您为此使用 ProGuard 配置,而不是 Gradle DSL。使用 -dontshrink 禁用收缩,使用 -dontobfuscate 禁用混淆,使用 -dontoptimize 禁用优化。”

低密度脂蛋白

proguard-rules.pro

-dontshrink
-dontobfuscate
-dontoptimize

【问题讨论】:

    标签: android android-r8


    【解决方案1】:

    在您的 gradle.properties 文件中,添加这一行

     android.enableR8=false
    

    这对我有用。

    【讨论】:

    • useProguard 将很快被弃用,知道如何解决这个问题吗? stackoverflow.com/questions/57736108/… 不禁用 R8?
    • 这没有被弃用?
    • 这会完全关闭 R8,包括混淆和缩小。
    • 这已在 Android Gradle Plugin 7.0 中移除
    【解决方案2】:

    this answer 之后,我能够解决这个问题。我没有编辑build.gradle 文件,而是将-dontobfuscate 添加到proguard-rules.pro 文件中。 (您可以为调试和发布版本配置不同的 proguard 规则文件。)这跳过了混淆步骤,并允许我使用 R8 进行缩小的调试版本。

    【讨论】:

    • 来自链接:@JakeWharton:“您为此使用 ProGuard 配置,而不是 Gradle DSL。使用 -dontshrink 禁用收缩,使用 -dontobfuscate 禁用混淆,使用 -dontoptimize 禁用优化。”跨度>
    • 我们不应该为此使用 gradle.properties 吗?
    猜你喜欢
    • 2020-10-05
    • 1970-01-01
    • 2019-03-19
    • 2019-11-19
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多