当我从gradle文件中启用Proguard并生成发布构建文件时,我得到以下错误信息。
处理任务java.io.IOException:混淆器。ParseException:期望类型和名称而不仅仅是''在文件第169行'('之前的: workspace 项目. . app 制造中间体 proguard-rules . . aapt_rules.txt释放的在com.android.build.gradle.tasks.AndroidProGuardTask 1.美元运行(AndroidProGuardTask.java: 117)运行任务(Job.java:48com.android.build.gradle.tasks.SimpleWorkQueue EmptyThreadContext.runTask美元(SimpleWorkQueue.java: 41)运行(WorkQueue.java:227java.lang.Thread.run (Thread.java: 745)错误:混淆器。抛出ParseException:在第169行'('之前期待类型和名称,而不仅仅是''的文件的: workspace 项目. . app 制造中间体 proguard-rules . . 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)proguardtask .proguard(ProGuardTask.java:1074com.android.build.gradle.tasks.AndroidProGuardTask.doMinification (AndroidProGuardTask.java: 139)在com.android.build.gradle.tasks.AndroidProGuardTask 1.美元运行(AndroidProGuardTask.java: 115)…4个错误:执行任务":app:packageProRelease"失败。>无法计算哈希值S: workspace app 项目构建中间体 classes-proguard Pro 发布 classes.jar
我在代码中使用了以下库:
- AndroidScanLib.jar
- apache-mime4j-core-0.7.jar
- httpclient-4.1.2.jar
- httpmime-4.2.3.jar
- libGoogleAnalyticsServices.jar
- MobileImagingEngine.jar
- MobileImagingEngine_Doc.jar
- SmartScan.jar
- sqlcipher.jar
一个奇怪的解决方案:禁用minifyEnabled (minifyEnabled false),生成签名APK,然后重新启用它(minifyEnabled true)并再次生成签名APK。希望这有用。
在我的情况下,我使用的是我创建的自定义库,我已经设置了minifyEnabled true,并且在依赖模块中,我再次做了相同的minifyEnabled true。把它放在一个地方解决了我的问题。除了您自己的库之外,其他库也可能出现这种情况!