首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >work规则.work似乎不适用于R8

work规则.work似乎不适用于R8
EN

Stack Overflow用户
提问于 2019-04-23 02:40:28
回答 1查看 5.1K关注 0票数 8

今天早些时候,我将我的Android升级到3.4,我第一次使用默认的收缩器R8。我将库项目的proguard-project.txt内容复制到它的proguard-rules.pro中。proguard-project.txt为这个项目完美地工作,该项目生成一个aar文件,供其他应用程序项目使用。

文件proguard-rules.pro似乎没有被使用。该项目的build.gradle中有以下内容

代码语言:javascript
复制
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
                    'proguard-rules.pro'
            signingConfig signingConfigs.Release
        }
        debug {
            signingConfig signingConfigs.Debug
        }
    }

proguard-rules.pro有以下内容:

代码语言:javascript
复制
# Preserve all public classes, and their public and protected fields and methods.
-keep public class * {
    public protected *;
}

公共方法的名称根本没有保留:

有人能给我一个如何解决这个问题的建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-23 03:29:39

将这一行添加到gradle.properties

代码语言:javascript
复制
android.enableR8 = true

并在您的proguard-rules.pro中尝试下面的代码

代码语言:javascript
复制
-keep public class ** {
    public *;
    protected *;

}

编辑#1

请在这里查看如何将Proguard迁移到R8:Android/java: Transition / Migration from ProGuard to R8?

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55803562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档