我们正尝试在第三方提供的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.pro
和multidex-keep-rules.pro
中的所有事情。示例:
-dontwarn com.threatmetrix.TrustDefender.**
-dontnote com.threatmetrix.TrustDefender.**
但是似乎没有任何效果。有没有一种方法可以配置multidex以忽略此错误?