Android 将字节码转换为dex时出错:启用Proguard时解析类时出现异常

Android 将字节码转换为dex时出错:启用Proguard时解析类时出现异常,android,android-studio,gradle,proguard,Android,Android Studio,Gradle,Proguard,在我的项目中,我正在使用一个作为.AAR导入的库模块,在启用proguard之前,一切正常。启用Proguard后,库在构建项目时会出现以下异常 我尝试了一切,从清洁、建筑到重建项目。 还尝试将gradle版本从2.3.0修改为3.3.0,但都没有成功。 我必须不断地混淆(这是我到目前为止无法做到的) 尝试将所有这些添加到我的proguard.txt文件: -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -verbose

在我的项目中,我正在使用一个作为.AAR导入的库模块,在启用proguard之前,一切正常。启用Proguard后,库在构建项目时会出现以下异常

我尝试了一切,从清洁、建筑到重建项目。 还尝试将gradle版本从2.3.0修改为3.3.0,但都没有成功。

我必须不断地混淆(这是我到目前为止无法做到的)

尝试将所有这些添加到我的
proguard.txt
文件:

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
#-dontobfuscate
# Optimization is turned off by default. Dex does not like code run
# through the ProGuard optimize and preverify steps (and performs some
# of these optimizations on its own).
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
#-dontoptimize
-dontpreverify
例外情况:

{“种类”:“错误”,“文本”:“将字节码转换为索引时出错:\n原因: java.lang.RuntimeException:异常解析 类“,”源“:[{}],”原始“:”意外的顶级 异常:\njava.lang.RuntimeException:异常分析 类\n\t com.android.dx.command.dexer.Main.processClass(Main.java:752)\n\t com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)\n\tat com.android.dx.command.dexer.Main.access$1200(Main.java:85)\n\t com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)\n\t com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)\n\t com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)\n\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)\n\tat com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)\n\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)\n\tat com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)\n\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)\n\tat com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)\n\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)\n\tat com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)\n\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)\n\tat com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)\n\tat com.android.dx.command.dexer.Main.processOne(Main.java:672)\n\tat com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)\n\t com.android.dx.command.dexer.Main.runMultiDex(Main.java:366)\n\t com.android.dx.command.dexer.Main.run(Main.java:275)\n\tat com.android.dx.command.dexer.Main.Main(Main.java:245)\n\t com.android.dx.command.Main.Main(Main.java:106)\n使用者: com.android.dx.cf.iface.ParseException:类名 (hk/com/domainname/libname/r)与路径不匹配 (hk/com/domainname/libname/R.class)\n\tat com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:520)\n\t com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)\n\tat com.android.dx.cf.direct.DirectClassFile.parsetointerfacesired(DirectClassFile.java:388)\n\tat com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)\n\t com.android.dx.command.dexer.Main.parseClass(Main.java:764)\n\tat com.android.dx.command.dexer.Main.access$1500(Main.java:85)\n\t com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)\n\tat com.android.dx.command.dexer.Main.processClass(Main.java:749)\n\t。。。 21更多\n,“工具”:“Dex”}


您可能有此问题-->--如果没有,请在问题中添加您的gradle文件,以便人们检查应用程序中是否已经处理了多重索引,但与之无关。然后尝试清除项目,然后再创建项目,而不是重建项目。在选定设备上运行生成时,可以正常执行生成和清除,构建失败与此相关error@AmritpalSingh你能在这里发布你的build.gradle吗?