当我从gradle文件启用Proguard并生成发布版本文件时,收到以下错误消息。
处理任务java.io.IOException时出现异常: proguard.ParseException:期待类型和名称,而不仅仅是' ' 之前'('在文件的第169行 ' S:\工作空间\项目.. \应用\构建\中间体\ proguard的规则.. \释放\ aapt_rules.txt' 在 com.android.build.gradle.tasks.AndroidProGuardTask $ 1.run(AndroidProGuardTask.java:117) 在com.android.builder.tasks.Job.runTask(Job.java:48)at com.android.build.gradle.tasks.SimpleWorkQueue $ EmptyThreadContext.runTask(SimpleWorkQueue.java:41) 在com.android.builder.tasks.WorkQueue.run(WorkQueue.java:227)at java.lang.Thread.run(Thread.java:745)错误:proguard.ParseException: 期待类型和名称而不仅仅是' '之前'('在第169行 的文件 ' S:\工作空间\项目.. \应用\构建\中间体\ proguard的规则.. \释放\ aapt_rules.txt' 在 proguard.ConfigurationParser.parseMemberSpecificationArguments(ConfigurationParser.java:908) 在 proguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:748) 在 proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:534) 在proguard.ConfigurationParser.parse(ConfigurationParser.java:165) 在 proguard.gradle.ProGuardTask.getConfiguration(ProGuardTask.java:1142) 在proguard.gradle.ProGuardTask.proguard(ProGuardTask.java:1074)at com.android.build.gradle.tasks.AndroidProGuardTask.doMinification(AndroidProGuardTask.java:139) 在 com.android.build.gradle.tasks.AndroidProGuardTask $ 1.run(AndroidProGuardTask.java:115) ......还有4个 错误:任务':app:packageProRelease'执行失败。 >无法计算哈希值 S:\工作空间\项目\应用\构建\中间体\类-proguard的\临\释放\ classes.jar
我在代码中使用以下库:
答案 0 :(得分:6)
一种奇怪的解决方法:禁用minifyEnabled(minifyEnabled false),生成签名的APK,然后重新启用它(minifyEnabled true)并再次生成签名的APK。希望这有效。
答案 1 :(得分:2)
在我的情况下,我正在使用我创建的自定义库,并且我已将minifyEnabled设置为true,并且在依赖模块中,我再次执行相同的minifyEnabled true。只保留在一个地方解决了我的问题。除了你自己的库以外,也可以是同样的情况!