我今天早些时候将Android Studio升级到3.4,并且第一次使用默认的收缩器R8.我将库项目的proguard-project.txt的内容复制到其proguard-rules.pro. proguard-project.txt可以完美地用于该项目,该项目可以生成供其他应用程序项目使用的aar文件.
似乎未使用文件proguard-rules.pro.该项目的build.gradle中包含以下内容:
buildTypes { release { MinifyEnabled true proguardfiles getDefaultProguardfile('proguard-androID-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.Release } deBUG { signingConfig signingConfigs.DeBUG } }
proguard-rules.pro具有以下内容:
# Preserve all public classes, and their public and protected fIElds and methods.-keep public class * { public protected *;}
公用方法的名称根本不保留:
谁能提供解决此问题的技巧?
解决方法:
将此行添加到gradle.propertIEs
androID.enableR8 = true
并在您的proguard-rules.pro中尝试以下代码
-keep public class ** { public *; protected *;}
编辑#1
在此处查看如何将Proguard迁移到R8:Android/java: Transition / Migration from ProGuard to R8?
总结以上是内存溢出为你收集整理的android-proguard-rules.pro似乎不适用于R8全部内容,希望文章能够帮你解决android-proguard-rules.pro似乎不适用于R8所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)