任务 :app:transformNativeLibsWithMergeJniLibsForDebug 失败

IT技术 reactjs react-native
2021-05-05 07:03:34

我正在使用 react native,每次我构建一个新项目时,它似乎都可以在我的设备上运行,但是每当我尝试重新启动它时,它都会给我 1 个或多个错误

我曾尝试在 github 上寻找解决方案,但都不清楚,我将在此处发布整个错误消息。

react-native run-android info 运行 jetifier 将库迁移到 AndroidX。您可以使用“--no-jetifier”标志禁用它。Jetifier 找到了 855 个要转发 Jetify 的文件。使用 4 个工人...信息启动 JS 服务器...信息安装应用程序...启动 Gradle 守护进程(后续构建会更快)

任务 :app:transformNativeLibsWithMergeJniLibsForDebug 失败

此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 6.0 不兼容。使用“--warning-mode all”来显示单个弃用警告。请参阅https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings 24 个可操作任务:2 个已执行,22 个最新

FAILURE:构建失败,出现异常。

  • 出了什么问题:任务“:app:transformNativeLibsWithMergeJniLibsForDebug”的执行失败。

    无法读取路径“C:\REACT_NATIVE\AwesomeProject2\android\app\build\intermediates\transforms\mergeJniLibs\debug\0\lib\arm64-v8a”。

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

  • https://help.gradle.org获取更多帮助

在 57 秒内构建失败

错误 无法安装应用程序。确保您已设置 Android 开发环境:https : //facebook.github.io/react-native/docs/getting-started.html#android-development-environment使用 --verbose 标志运行 CLI 以获取更多详细信息。错误:命令失败:gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

FAILURE:构建失败,出现异常。

  • 出了什么问题:任务“:app:transformNativeLibsWithMergeJniLibsForDebug”的执行失败。

    无法读取路径“C:\REACT_NATIVE\AwesomeProject2\android\app\build\intermediates\transforms\mergeJniLibs\debug\0\lib\arm64-v8a”。

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

  • https://help.gradle.org获取更多帮助

在 57 秒内构建失败

at checkExecSyncError (child_process.js:623:11)
at execFileSync (child_process.js:641:15)
at runOnAllDevices (C:\REACT_NATIVE\AwesomeProject2\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:75:39)
at buildAndRun (C:\REACT_NATIVE\AwesomeProject2\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\index.js:169:41)
at C:\REACT_NATIVE\AwesomeProject2\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\index.js:135:12
at processTicksAndRejections (internal/process/task_queues.js:85:5)
at async Command.handleAction (C:\REACT_NATIVE\AwesomeProject2\node_modules\react-native\node_modules\@react-native-community\cli\build\cliEntry.js:160:7)
4个回答

运行清洁任务为我解决了问题。在您项目的 android 目录中,使用“clean”运行 gradle 包装器

cd android && ./gradlew clean 

然后您可以返回项目目录并再次尝试运行。

cd .. && react-native run-android

去 android/app/build.gradle 在 android 下添加以下内容

android {
    ...
+   packagingOptions {
+       pickFirst '**/libjsc.so'
+       pickFirst 'lib/x86/libc++_shared.so'
+       pickFirst 'lib/x86_64/libjsc.so'
+       pickFirst 'lib/arm64-v8a/libjsc.so'
+       pickFirst 'lib/arm64-v8a/libc++_shared.so'
+       pickFirst 'lib/x86_64/libc++_shared.so'
+       pickFirst 'lib/armeabi-v7a/libc++_shared.so'  
+   }
}

运行清洁任务为我解决了问题。在您项目的 android 目录中,使用“clean”运行 gradle 包装器

cd android && ./gradlew clean

然后您可以返回项目目录并再次尝试运行。

cd .. && react-native run-android

干净的项目为我工作

一个 react-native 项目是关于一个 XCode 项目和一个 Android 项目。(纯js代码无需清理)

所以你需要什么

使用以下命令清理 XCode 项目

$ cd ios
$ xcodebuild clean
$ cd .. && react-native run-ios

然后用

$ cd android
$ ./gradlew clean
$ cd .. && react-native run-android

您可以简单地为它编写一个批处理文件。

就我而言,在 react-native 应用程序中,此错误是由 rn-fetch-blob v0.12.0 引起的,它也使 release apk 崩溃,
我这样做:

npm uninstall rn-fetch-blob
npm i rn-fetch-blob@0.11.2
cd android && gradlew clean
cd..
react-native run-android

希望这有助于某人 <3