Android multidex无法在外部AAR中与Threat Metrix一起使用

时间:2019-09-20 20:38:41

标签: android android-gradle-plugin proguard android-multidex

我们正尝试在第三方提供的Android应用中使用aar文件。该文件具有ThreatMetrix(TrustDefender-4.1-176)的依赖关系。我们正在应用程序中使用MultiDex。当我们尝试在Mac上通过gradle运行connectedAndroidTest时,出现以下错误:

./gradlew connectedAndroidtest

> Task :app:multiDexListDebugAndroidTest FAILED
D8: Class content provided for type descriptor com.threatmetrix.TrustDefender.internal.ˏ$ι actually defines class com.threatmetrix.TrustDefender.internal.ˏ$ι

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:multiDexListDebugAndroidTest'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Error while merging dex archives:

所提供的aar文件中的ThreatMetrix库已经使用proguard进行了处理,但是编码使得某些类名与它们各自的文件名不匹配。这似乎破坏了我们的MultiDex。

我已经尝试过proguard-rules.promultidex-keep-rules.pro中的所有事情。示例:

-dontwarn com.threatmetrix.TrustDefender.**
-dontnote com.threatmetrix.TrustDefender.**

但是似乎没有任何效果。有没有一种方法可以配置multidex以忽略此错误?

0 个答案:

没有答案