【问题标题】:Can't run nor debug project but gradle build+install work无法运行或调试项目,但 gradle build+install 工作
【发布时间】:2020-01-18 09:32:22
【问题描述】:

更新到 Android Studio 3.6 Canary11 (macOS) 后,我无法运行或运行我的项目的调试变体(发布变体工作正常)。

当我尝试运行项目时出现错误:

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
  > Entry name 'firebase-abt.properties' collided

但是当我删除构建目录(rm -rf app/build)时,我可以运行/调试一次项目。第一次运行后,再次出现同样的碰撞错误。

我尝试清除缓存,重新启动 Android Studio,但没有帮助。

也许它与Android studio无关,因为不同的项目运行正常。 你有什么想法,可能是什么问题?

【问题讨论】:

    标签: android android-studio gradle


    【解决方案1】:

    我遇到了与MrEngineer13 相同的错误。经过数小时的努力,您必须删除已构建的 APK 文件,该项目才能成功构建另一个 APK

    【讨论】:

    • 非常感谢。在生成 APK 文件时,我为找出类似的问题 Entry name org/joda/time/tz/data/Europe/Dublin collided 做了很多努力。删除之前生成的 APK(在其各自的构建文件夹中)似乎已经解决了这个问题。
    • 我最近收到了Entry name 'org/apache/commons/codec/language/bm/gen_approx_greeklatin.txt' collided 自己的最新稳定版 Android Studio (v4.0)。从 v3.6.0 开始,AS 就成了笑话。
    • 非常感谢。为我节省了很多时间。
    【解决方案2】:

    我在 Mac 上使用 Android Studio 3.6 Canary 12 时遇到了类似的问题,我可以构建不同的构建变体,但在尝试生成已签名的 apk 时出现此错误:

    Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
    

    我不得不删除 .build 文件夹以及我构建构建变体的文件夹。

    【讨论】:

    • .build 文件夹在哪里?我有一个没有.build 文件夹
    • 同样对我有用。我删除 /app 文件夹下的 build 文件夹。
    • 但它非常麻烦,每次你运行很多时间时,你都会遇到同样的问题,具体原因是什么
    • 我已经在这里添加了我的答案并且它有效 -> stackoverflow.com/a/61692128/7280036
    【解决方案3】:

    我在 Android Studio 3.6.3v 上遇到了类似的问题

    Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
    

    我通过以下方式解决了问题:

    1. 删除/app下的build文件夹
    2. 清理项目
    3. 重建项目

    如果仍然不起作用,请执行以下操作:

    File > Invalidate Caches/Restart
    

    【讨论】:

    • 仅通过步骤 2 和 3 解决。我会先尝试这两个步骤。谢谢。
    • 这是我搜索的。
    【解决方案4】:

    我刚刚遇到了类似的问题 - 我生成调试版本变体一直失败,并出现有关“条目名称 res/layout/test_toolbar.xml 冲突”的错误。我的项目中的任何地方都没有“test_toolbar_xml”。我首先删除了所有构建目录并尝试了 - 结果相同。然后我进入并删除了 .gradle\5.6.4 和 .idea 文件夹下的缓存。再次尝试,这次我能够构建。

    构建“发布”变体每次都能奏效。

    【讨论】:

      【解决方案5】:

      从子文件夹项目中删除 apk 文件

      【讨论】:

        【解决方案6】:

        尝试 build.gradle

        android {
            packagingOptions {
            pickFirst  'firebase-abt.properties'
            }
        }
        

        【讨论】:

          【解决方案7】:

          如果还有人遇到这个问题,试试这个 -

          1. 第一步
          文件 > 使缓存无效/重新启动
          1. 第二步
          重建项目

          【讨论】:

          • clean 对我来说已经足够解决问题了。
          【解决方案8】:
          1. 升级 Gradle 后,编译(调试)失败。我收到了编译错误消息:

          Entry name 'res/mipmap-hdpi-v4/ic_launcher.png' collided

          1. 试用了 Elye 的文章 https://medium.com/@elye.project/resources-collision-without-warning-b29294f518c6。 我正在使用一个也定义了 ic_launcher 的库。我根据文章中的建议重命名了 ic_launcher,但这并没有解决问题。

          2. 尝试通过删除 build 和 gradle 目录来清除缓存,但这并没有解决问题。

          3. 尝试在 gradle.properties:android.useNewApkCreator=false 中设置,但随后 Android Studio 报告: build.gradle:选项设置android.useNewApkCreator=false 是实验性的,不受支持。

          4. 由于我无法使用实验性功能,我从:
            Gradle Version: 3.6.1 Android Plugin version: 6.2.1
            降级 至:
            Gradle Version: 3.5.3 Android Plugin version: 5.4.1

          编译(调试)现在又可以工作了。

          【讨论】:

            【解决方案9】:

            我遇到了同样的问题。我只是清理和重建,然后它工作正常。

            【讨论】:

              【解决方案10】:

              当在 Android Studio v3.6.1 中收到 entry name 'kotlin/collections/mapwithdefault.kotlin_metadata' collided 错误时,它有助于清理构建文件夹。

              我们最终为此创建了一个脚本:cleanBuldFolders.sh

              #!/bin/bash
              
              # Deletes all build folders in the project
              find . -name build -type d -exec rm -rf {} +
              

              【讨论】:

                【解决方案11】:

                我在使用 Android Studio 4.0 Canary 8 时遇到了同样的问题。

                我通过降级解决了我的问题:

                Gradle 版本 3.6.33.5.3

                Android 插件版本 5.6.15.4.1

                但是

                我建议在降级之前尝试以下这些选项

                • 删除build文件夹内app
                • 干净
                • 重建

                如果您仍然遇到问题,请尝试Invalidate Cache / Restart

                【讨论】:

                  【解决方案12】:

                  这是由 Android 工作室新的默认打包工具 zipflinger

                  引起的

                  您必须在 gradle.properties 文件中设置以下内容才能解决此问题。

                  android.useNewApkCreator=false

                  参考:https://developer.android.com/studio/releases/gradle-plugin?authuser=1#zipflinger

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2020-12-30
                    • 1970-01-01
                    • 2022-06-17
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多