如何修复构建gradle

aws*_*m98 13 android build

我重新启动了 Android Studio 并且在构建过程中发生了错误

构建失败显示:


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

Run Code Online (Sandbox Code Playgroud)

它指向的扩展名不存在

细节错误


    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


Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 43

我在我正在处理的 React Native 项目中遇到了同样的错误。我能够通过以下方式解决问题。请务必<PROJECT_NAME>用您的实际项目名称替换下面的内容。

  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/<PROJECT_NAME>.iml

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

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


小智 20

它可以帮助我使用 Android Studio。

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


Doa*_*Bui 9

折腾了3天,终于找到了一个简单的解决方法:

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

android {
defaultConfig {
    ...
    targetSdkVersion 28
    multiDexEnabled true // here
}
...
Run Code Online (Sandbox Code Playgroud)

}


Joo*_*lah 6

对我来说只是做

rm -rf .gradle
Run Code Online (Sandbox Code Playgroud)

并在 Android Studio 中重新启动和无效工作