【问题标题】:React-native android build fails due to missing files in the gradle cache?由于 gradle 缓存中缺少文件,React-native android 构建失败?
【发布时间】:2022-10-06 04:45:08
【问题描述】:

我目前正在为 ios 和 android 开发 react-native。我想添加 4 个新软件包(react-native-gesture-handlerreact-native-reanimatedreact-native-safe-area-context@gorhom/bottom-sheet),然后在安装时给我带来了一些麻烦,所以我切换到另一个软件包,可以毫无问题地替换这 4 个。
现在的问题是,即使将项目回滚到之前的状态,在运行npm run-android 时它仍然会崩溃,并出现以下错误:

> hbmggmbh_app@0.0.1 android
> react-native run-android

info Running jetifier to migrate libraries to AndroidX. You can disable it using \"--no-jetifier\" flag.
Jetifier found 1001 file(s) to forward-jetify. Using 8 workers...
info JS server already running.
info Launching emulator...
info Successfully launched emulator.
info Installing the app...
> Task :app:checkDebugAarMetadata FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use \'--warning-mode all\' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.3.3/userguide/command_line_interface.html#sec:command_line_warnings
12 actionable tasks: 2 executed, 10 up-to-date

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task \':app:checkDebugAarMetadata\'.
> Multiple build operations failed.
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/acdba564cab10d0f31716104c08ecbee/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/0051ba15206e71d5f2b7a6f0ed776860/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/4e2e869708901347ef158aa1a9aed1f4/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/f684783603be85eb4c827960e04e8a60/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/e027a88f08932b9116d6e1bd45f24a79/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/c08ba6ec0daadcde11699fa34d40b295/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/c0b89d21d6409c50b59e277bb5915751/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/f38a0e4adb2cb6c27096544b7d9f257a/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/49b1d43dd024794a47163e54aa8a0a89/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/52f1cba1c3b05bb59b006a525e2f4d4d/results.bin
      ...and 87 more failures.
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/acdba564cab10d0f31716104c08ecbee/results.bin
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/0051ba15206e71d5f2b7a6f0ed776860/results.bin
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/22f4e52b551ac1cfb5cd025e9c5de9c1/results.bin
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/d4405dbab538bff995a2a0c862019c94/results.bin
   [... and so on for about ~50 more files]

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 4s

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task \':app:checkDebugAarMetadata\'.
> Multiple build operations failed.
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/acdba564cab10d0f31716104c08ecbee/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/0051ba15206e71d5f2b7a6f0ed776860/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/4e2e869708901347ef158aa1a9aed1f4/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/f684783603be85eb4c827960e04e8a60/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/e027a88f08932b9116d6e1bd45f24a79/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/c08ba6ec0daadcde11699fa34d40b295/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/c0b89d21d6409c50b59e277bb5915751/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/f38a0e4adb2cb6c27096544b7d9f257a/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/49b1d43dd024794a47163e54aa8a0a89/results.bin
      java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/52f1cba1c3b05bb59b006a525e2f4d4d/results.bin
      ...and 87 more failures.
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/acdba564cab10d0f31716104c08ecbee/results.bin
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/0051ba15206e71d5f2b7a6f0ed776860/results.bin
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/22f4e52b551ac1cfb5cd025e9c5de9c1/results.bin
   > java.nio.file.NoSuchFileException: /Users/private/.gradle/caches/transforms-3/d4405dbab538bff995a2a0c862019c94/results.bin
   [... and so on for about ~50 more files]

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 4s

    at makeError (/Volumes/privateWorkspace/hbmggmbh/LF2Frontend/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:174:9)
    at /Volumes/privateWorkspace/hbmggmbh/LF2Frontend/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:278:16
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async runOnAllDevices (/Volumes/privateWorkspace/hbmggmbh/LF2Frontend/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:109:5)
    at async Command.handleAction (/Volumes/privateWorkspace/hbmggmbh/LF2Frontend/node_modules/@react-native-community/cli/build/index.js:192:9)
info Run CLI with --verbose flag for more details.

在修复我在尝试实现我所说的 4 个包时遇到的其他错误期间,我运行了 rm -r $HOME/.gradle/caches/,这是我在 stackoverflow 上找到的解决方案 here 并在当时工作。由于它只是删除缓存,所以我没有多想。

现在的项目\"跑\"上:

\"dependencies\": {
    \"prop-type\": \"^0.0.1\",
    \"react\": \"18.0.0\",
    \"react-native\": \"0.69.0\",
    \"react-native-geolocation-service\": \"^5.3.0\",
    \"react-native-maps\": \"^0.31.1\"
  },
  \"devDependencies\": {
    \"@babel/core\": \"^7.12.9\",
    \"@babel/runtime\": \"^7.12.5\",
    \"@react-native-community/eslint-config\": \"^2.0.0\",
    \"babel-jest\": \"^26.6.3\",
    \"eslint\": \"^7.32.0\",
    \"jest\": \"^26.6.3\",
    \"metro-react-native-babel-preset\": \"^0.70.3\",
    \"react-native-sass-transformer\": \"^2.0.0\",
    \"react-test-renderer\": \"18.0.0\"
  }

我使用的版本:

------------------------------------------------------------
Gradle 7.4.2
------------------------------------------------------------

Build time:   2022-03-31 15:25:29 UTC
Revision:     540473b8118064efcc264694cbcaa4b677f61041

Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          18.0.1.1 (Homebrew 18.0.1.1+0)
OS:           Mac OS X 12.1 x86_64

我试图解决这个问题的清单:

  • 重新安装 gradle
  • 重新安装 android studio 和我所有的模拟器
  • 正在运行gradle --build-cache
  • 正在运行gradle cleanBuildCache
    • 这导致了Task \'cleanBuildCache\' not found in root project \'LF2Frontend\'. 错误
  • 删除node_modules/package-lock.json,然后再次运行npm i
  • 清除 react-native 缓存
  • 清除 npm 缓存
  • 最绝望的是:我尝试将我的一位队友的 gradle 缓存 .gradle/caches/transforms-3/ 复制到我的缓存文件夹中,希望这可能会有所帮助。

在这一点上,我完全迷失了,也很困惑这样的事情怎么会发生。
有谁知道如何帮助解决这个问题?提前致谢

  • 好的,所以问题似乎自己解决了……我完全没有改变,突然它又开始工作了……如果有人知道,我仍然希望能解释一下如何/为什么会发生这种情况。
  • 目前也有这个问题,尝试一些你先做的类似的事情。如果我找到解决方案,我会发布它

标签: react-native gradle caching android-gradle-plugin metro-bundler


【解决方案1】:

执行rm -rf ~/.gradle/caches/ 后,我处于完全相同的情况。

最终通过删除整个~/.gradle 文件夹来解决它,而不仅仅是caches 子目录。

然后,在运行react-native run-android 之后,React Native 将开始重新安装 Gradle 本身,我的构建再次成功。

希望这可以帮助!

【讨论】:

    猜你喜欢
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多