Android 获取 R8 错误:尝试使用缩小版本运行 UI 测试时已经有映射
Posted
技术标签:
【中文标题】Android 获取 R8 错误:尝试使用缩小版本运行 UI 测试时已经有映射【英文标题】:Android Getting R8 error: Already has a mapping when trying to run UI tests with minified build 【发布时间】:2021-07-03 20:23:14 【问题描述】:我希望能够在缩小版本上运行 UI 测试。但是当我运行时
./gradlew connectedDebugandroidTest
我收到此错误:
> Task :app:minifyDebugAndroidTestWithR8
R8: 'void zza(com.google.android.gms.common.internal.BaseGmsClient,int,android.os.IInterface)' already has a mapping
我尝试为测试创建一个单独的 proguard 文件:
buildTypes
debug
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testProguardFile 'proguard-test.pro'
# proguard-test.pro:
-include proguard-rules.pro
-keepattributes SourceFile,LineNumberTable
-dontobfuscate
-dontwarn
-dontshrink
但这并没有帮助。不知道还能尝试什么。
【问题讨论】:
您在哪个版本的 Android Studio/AGP 上看到此问题?该领域已经修复了许多问题,最新的是issuetracker.google.com/140851070。您能否尝试使用最新的 Android Studio 4.2 (developer.android.com/studio/preview)?您也可以只使用 AGP 4.2.0-rc01,而无需使用此依赖项更新 Android Studio:com.android.tools.build:gradle:4.2.0-rc01
在您的*** build.gradle
file 中。如果这不能解决问题,请在issuetracker.google.com/issues/new?component=326788 提交错误。
这似乎已经解决了,谢谢@sgjesse!
【参考方案1】:
存在许多“已经有映射”问题(最近的一个是 issuetracker.google.com/140851070)。 Android Studio 4.2 已修复所有此类已知问题(目前为预览版,developer.android.com/studio/preview)。
也可以使用 AGP 4.2.0-rc01,而无需通过使用此依赖项更新 Android Studio:***build.gradle
文件中的com.android.tools.build:gradle:4.2.0-rc01
。
【讨论】:
以上是关于Android 获取 R8 错误:尝试使用缩小版本运行 UI 测试时已经有映射的主要内容,如果未能解决你的问题,请参考以下文章
com.android.tools.r8.utils.AbortException:错误:程序输入 - 不支持的源文件类型
如何让 R8 + proguard-android-optimize.txt + Google Drive API 无缝运行?