更新到 WorkManager 1.0.0-alpha09 后出现编译错误

2024-04-18

我正在尝试使用架构组件中的 WorkManager 。我已将compileSdkVersion和targetSdkVersion从27升级到28。gradle同步已成功完成。但构建时错误不断出现。由于“android.support:design”,android.support 库正在使用版本 28.0.0-rc02。

我尝试添加打包选项以排除“proguard/androidx-annotations.pro”。但这没有帮助。但这次我收到了不同的错误消息:

Program type already present: com.google.common.util.concurrent.ListenableFuture

我不知道出了什么问题。

构建.gradle:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: 'io.fabric'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.apps.test"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 5
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    signingConfigs {
        release
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release

            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            resValue "bool", "enableFirebase", "true"

        }
        debug {
            minifyEnabled false
            resValue "bool", "enableFirebase", "false"

        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
//    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:design:28.0.0-rc02'
    implementation 'com.android.support:recyclerview-v7:28.0.0-rc02'
    implementation 'com.android.support:support-v4:28.0.0-rc02'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:multidex:1.0.3'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.google.android.gms:play-services-maps:15.0.1'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.firebase:firebase-core:16.0.3'
    implementation 'com.google.firebase:firebase-auth:16.0.3'
    implementation 'com.google.android.gms:play-services-auth:16.0.0'
    implementation 'com.google.firebase:firebase-firestore:17.1.0'
    implementation 'com.firebaseui:firebase-ui-firestore:4.1.0'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'

    //Arch
    implementation 'android.arch.core:runtime:1.1.1'
    implementation 'android.arch.core:common:1.1.1'
    implementation 'com.google.code.gson:gson:2.8.5'

    implementation "android.arch.work:work-runtime-ktx:1.0.0-alpha09"
//    implementation "android.arch.work:work-firebase:1.0.0-alpha09"
}

apply plugin: 'com.google.gms.google-services'

编辑: 我已经在 gradle 中实现了 PackagingOptions就像在这里 https://developer.android.com/jetpack/docs/release-notes#september_19_2018

packagingOptions {
    exclude 'META-INF/proguard/androidx-annotations.pro'
}

但这次我又得到了 5 个错误:

1:

Program type already present: com.google.common.util.concurrent.ListenableFuture
Message{kind=ERROR, text=Program type already present: com.google.common.util.concurrent.ListenableFuture, sources=[Unknown source file], tool name=Optional.of(D8)}

2:

Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: ...

3:

Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: ...

4:

Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete

5:

Caused by: com.android.tools.r8.utils.AbortException

根据WorkManager 1.0.0-alpha09 发行说明 https://developer.android.com/jetpack/docs/release-notes#september_19_2018:

已知问题

如果您遇到以下问题:“在与操作系统无关的路径‘META-INF/proguard/androidx-annotations.pro’中找到多个文件”,请在我们修复该问题时将以下内容放入您的 gradle 文件中作为临时解决方法alpha10 中的问题:

android {
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}

Edit:您的额外错误是由以下原因引起的这个问题 https://issuetracker.google.com/issues/116154359:

这是故意的:https://groups.google.com/forum/#!topic/guava-announce/Km82fZG68Sw https://groups.google.com/forum/#!topic/guava-announce/Km82fZG68Sw

新版本的番石榴即将推出,这将自动解决该问题。

现在您可以排除"com.google.guava:listenablefuture"在你的 gradle 文件中:

implementation("android.arch.work:work-runtime:1.0.0-alpha09") {
    exclude group: 'com.google.guava', module: 'listenablefuture' 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新到 WorkManager 1.0.0-alpha09 后出现编译错误 的相关文章

随机推荐

  • Gunicorn 日志配置 access_log_format

    我希望 Gunicorn 在我的 docker 容器中记录 JSON 我想在配置文件中使用 access logformat 尝试添加format or access log format or access logformat不配置记录器
  • 将 Mercurial 存储库转换为 svn 存储库

    我知道你可以将 svn 存储库转换为 Mercurial 存储库 或使用 Mercurial 作为 svn 存储库的客户端 但我想要的是将 Mercurial 存储库转换为 svn 存储库 我们有一些使用 SVNKit 的工具 我们想继续使
  • 如何在android中将AutoCompleteTextView与RecyclerView.Adapter一起使用但不与ArrayAdapter一起使用

    我有一个需要实施自动建议的情况 为此 我一直在尝试使用自定义的 RecyclerView Adapter 但问题是 AutoCompleteTextView 似乎是为 BaseAdapter 及其子类制作的 因此 适配器不被接受 还有其他方
  • Asp.net Web API - 从actionfilter返回数据

    我想从 Web api 操作过滤器返回一个 json 对象 我怎样才能实现这个目标 我可以从操作返回对象 但我需要在某些条件下从操作过滤器返回一些数据 提前致谢 编辑 1 当我更改如下代码时 浏览器仍在加载而没有任何响应 并以超时错误结束
  • 验证用户输入/为 .NET 控件提供状态 OK 或 NOK

    我正在考虑验证用户输入的最佳方法 让我们想象一下一些文本框 复选框或您喜欢的任何 NET 控件 其中必须将用户输入验证为 OK 或 NOK 一旦用户填写了所有必填字段 他就通过按钮提交 现在我必须知道哪些字段之前被确认为 OK 哪些字段被确
  • ReactJS - 如何让 onFocus 和 onBlur 工作

    据我了解 onFocus单击输入框时应调用 并且onBlur当其他事情成为焦点时应该调用 我的意图 我想调用一个函数 当通过单击激活时 它将 concat焦点输入框的消息字符串 但我无法获取onFocus or onBlur上班 从我周围搜
  • 通过按键和scrollTo插件向下滚动到下一个元素 - jQuery

    我正在使用 jQuery 的scrollTo http flesler blogspot com 2007 10 jqueryscrollto html插件使用向上箭头和向下箭头向上和向下滚动我的页面 我有一堆带有 screen 类的 di
  • 如何使用 Eclipse 的 google 插件使用经过精心编译的 HTML 来部署 GWT 应用程序

    我使用 eclipse 的 google 插件来部署我的 GWT 应用程序 到目前为止它运行良好 部署操作首先使用 混淆 输出样式编译我的 GWT 项目 现在我希望它更改为 漂亮 因为我必须调试客户端在运行中 我只是看不到混淆的堆栈 Tha
  • PHP MySQLi 权限被拒绝,但可以从 MySQL CLI 运行

    我收到错误 Failed to connect to MySQL Permission denied 当从 PHP 与 MySQL MySQLi 和 PDO 连接到远程 MySQL 主机时 但是 如果我从同一主机在命令行上使用相同的凭据通过
  • Android - StaggeredGrid错误项目处理

    我的 Recycler 视图和 StaggeredGrid 有问题 它将宽度减少了 2 我使用 Picasso 将图像加载到项目中 当我第一次加载图像时 它们在回收器视图中的处理方式很奇怪 重新加载后 一切似乎都很好 我认为问题来自图像加载
  • 调用 sdp_record_register() 时出现分段错误

    我正在尝试使用 BlueZ 在 SDP 中注册我的蓝牙服务 我跟随this http people csail mit edu albert bluez intro x604 html教程 代码编译成功 但当我运行它时 出现分段错误 即使是
  • 如何从 d3 导入子模块以轻松创建图例?

    我对 JavaScript 和 D3 比较陌生 所以请记住这一点 我创建了一个可视化来显示仓库中特定位置的访问频率 并希望使用连续色标添加图例 我看过几个街区 可能会想出一些离题的东西 但是我遇到了this https observable
  • /usr/local/lib 中未找到共享库

    我不明白 我通常安装第三方软件 usr 本地因此库被安装到 usr local lib 中并且链接到这些库从来没有出现问题 但现在它突然不再起作用 gcc lkaytils o test test c usr bin ld gold rea
  • Django 和通用访问卡 (CAC)

    计划用 Python 编写 Web 应用程序 Django 是框架的领先竞争者 一项要求是 CAC 访问 无需手动输入用户名和密码 据我所知 CAC 访问不是 Django 包含的 电池 的一部分 作为一个整体框架 不一定是坏属性 Djan
  • 具有内边缘的 SpriteKit SKPhysicsBody

    我创建了一个SKSpriteNode比如说Map它有一个我定义的边缘路径 一些简单的多边形形状 我想弄清楚的是如何添加几个other将充当内部边缘的边缘路径Map 就好像整个 地图 实际上确实有holes 某种内部边界形状可以与Map整体
  • 计算结构向量中的匹配项

    我有一个问题 要求我计算该数组中使用以下任一方法的实例的数量std count or std find 我知道如何使用标准数据 参见底部代码 类型来执行此操作 但不知道如何使用NameContainer我正在使用的 Type struct
  • Firebase 更新 apple-app-site-association

    我正在实现动态链接 一切正常 除了在我的项目设置中我更改了 团队 ID 又名 AppStore 应用程序前缀 如果我访问myproject page link apple app site association它仍然给我旧的团队 ID 我
  • 如果我在实现工厂模式时使用抽象类而不是接口。它仍然是工厂模式吗?

    例如 http www tutorialspoint com design pattern factory pattern htm http www tutorialspoint com design pattern factory pat
  • MapReduce 排序和洗牌如何工作?

    我正在使用 yelps MRJob 库来实现映射缩减功能 我知道 MapReduce 有一个内部排序和洗牌算法 它根据键对值进行排序 所以如果我在地图阶段后得到以下结果 1 24 4 25 3 26 我知道排序和洗牌阶段将产生以下输出 1
  • 更新到 WorkManager 1.0.0-alpha09 后出现编译错误

    我正在尝试使用架构组件中的 WorkManager 我已将compileSdkVersion和targetSdkVersion从27升级到28 gradle同步已成功完成 但构建时错误不断出现 由于 android support desi