首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R8不支持applyMapping吗?

R8不支持applyMapping吗?
EN

Stack Overflow用户
提问于 2020-01-09 09:16:54
回答 1查看 543关注 0票数 0

使用applyMapping将导致编译异常,如:

代码语言:javascript
复制
R8: 'boolean readField(int)' already has a mapping

失败:生成失败,出现异常。

问题所在:任务':app:transformClassesAndResourcesWithR8ForRelease'.的执行失败com.android.tools.r8.CompilationFailedException:编译未能完成

我的Android插件的版本是3.5.3,我发现这是R8的问题。因为当禁用R8时,applyMapping可以正常工作,启用R8,它就不能工作。我喜欢由Mapping.txt生成的R8具有这样的重复方法:

代码语言:javascript
复制
1:1:boolean readField(int):0 -> a
2:2:boolean readField(int):0:0 -> a

如果移除其中的一个,它就能正常工作。

EN

回答 1

Stack Overflow用户

发布于 2020-01-20 12:15:27

您使用的是较早版本的R8,它太急切地报告映射文件中的错误。通过将以下内容添加到顶级build.gradle文件中,尝试使用旧版本:

buildscript {

代码语言:javascript
复制
repositories {
    maven {
        url 'http://storage.googleapis.com/r8-releases/raw'
    }
}

dependencies {
    classpath 'com.android.tools:r8:1.6.60'          // Must be before the Gradle Plugin for Android.
    classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
 }

}

这应该有助于解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59660620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档