【问题标题】:How to fix build gradle如何修复构建gradle
【发布时间】:2020-07-10 03:25:42
【问题描述】:

我重启了Android Studio,构建过程中出现错误

构建失败展示:


C:\Users\aws hakam\Desktop\freeLance\BottleOfWater\app\build\intermediates\external_file_lib_dex_archives\debug\out

它指向的扩展不存在

细节错误


    Caused by: java.nio.file.NoSuchFileException: C:\Users\aws hakam\Desktop\freeLance\BottleOfWater\app\build\intermediates\external_file_lib_dex_archives\debug\out
    at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
    at sun.nio.fs.WindowsDirectoryStream.<init>(WindowsDirectoryStream.java:86)
    at sun.nio.fs.WindowsFileSystemProvider.newDirectoryStream(WindowsFileSystemProvider.java:518)
    at java.nio.file.Files.newDirectoryStream(Files.java:457)
    at java.nio.file.Files.list(Files.java:3451)
    at com.android.build.gradle.internal.tasks.DexMergingParams.getAllDexFiles(DexMergingTask.kt:502)
    at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:423)
    ... 28 more


【问题讨论】:

    标签: android build


    【解决方案1】:

    我在我正在处理的 React Native 项目中遇到了同样的错误。我能够通过以下方式解决问题。请务必将下面的&lt;PROJECT_NAME&gt; 替换为您的实际项目名称。

    1. 在 Android Studio 中,选择 File > Invalid Cache and Restart。
    2. 在终端中打开您的项目目录。
    3. rm -rf .gradle
    4. rm -rf android/.gradle android/.idea
    5. rm android/app/app.iml android/&lt;PROJECT_NAME&gt;.iml

    完成此操作后,我能够在 Android Studio 中打开我的项目并成功构建。除了第 3 步之外,我已经尝试了几次但没有成功,所以我认为第 3 步和我项目中的顶级 .gradle 目录是主要问题。我不确定它是如何到达那里的。

    还有一点需要注意的是,React Native 项目将所有 Android 特定代码放在 android 目录中。因此,如果您的项目不是 React Native 项目,而是传统的 Android 项目,我列出的删除路径可能会有所不同(即它们不会位于 android/ 下方)。

    【讨论】:

    • 救命稻草,谢谢!你是怎么想出这些步骤的?
    • 自从我发布以来已经有一段时间了。我不确定,但我会想象很大程度上是反复试验。 :)
    【解决方案2】:

    它可以帮助我使用 Android Studio。

    删除项目中的 .gradle 目录:rm -rf .gradle

    【讨论】:

    • 这对我在 Windows 上也有帮助。我实际上已经复制了我的项目并在另一台 PC 中打开它,这就是我遇到同样错误的原因。但是从我的项目目录中删除 .gradle 文件夹对我有用。
    【解决方案3】:

    我花了 3 天时间,终于找到了一个简单的解决方案:

    在 android/app/build.gradle 文件中。 添加行 multiDexEnabled true

    android {
    defaultConfig {
        ...
        targetSdkVersion 28
        multiDexEnabled true // here
    }
    ...
    

    }

    【讨论】:

      【解决方案4】:

      对我来说只是做

      rm -rf .gradle
      

      在 Android Studio 中重启和无效

      【讨论】:

      • 它在你的主文件夹中,所以最好运行rm -rf ~/.gradle
      【解决方案5】:

      此错误通常与可能位于 drawablelayout 文件夹中的 xml 文件有关。

      就我而言,我添加了一个可绘制对象,它指的是一种不存在的颜色“lightGray”android:drawable="@color/lightGray"

      <?xml version="1.0" encoding="utf-8"?>
      <selector xmlns:android="http://schemas.android.com/apk/res/android">
          <item android:state_pressed="true" android:drawable="@color/lightGray" />
          <item android:drawable="@color/black_transparent"/>
      </selector>
      

      【讨论】:

        【解决方案6】:

        适用于 Android Studio 和 Mac

        • 打开终端,移动到项目文件夹

          cd &lt;path to the android project&gt;

        • 然后删除 .gradle

          rm -rf .gradle

        【讨论】:

          【解决方案7】:

          我遇到了这个问题,实际上创建了文件夹&lt;project-root&gt;/android/app/build/intermediates/external_file_lib_dex_archives/debug/out

          之后构建成功。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多