由于以下错误,我的react原生项目构建不知何故失败:
Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
> 2 files found with path 'lib/arm64-v8a/libfbjni.so' from inputs:
- C:\Users\Antonio\.gradle\caches\transforms-3\7cca348744e25f57fc2d9f871aa73c9a\transformed\jetified-react-native-0.71.0-rc.0-debug\jni\arm64-v8a\libfbjni.so
- C:\Users\Antonio\.gradle\caches\transforms-3\08b0f5c7017bf081f79b63ea5b053dc0\transformed\jetified-fbjni-0.3.0\jni\arm64-v8a\libfbjni.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
有人知道什么可能导致构建失败吗?我还没有编辑任何构建文件和/或删除/安装/升级新的包,谢谢
8条答案
按热度按时间vojdkbi01#
答案取决于您的react native的版本。
https://github.com/facebook/react-native/issues/35210
小贴士:
xsuvu9jc2#
这是官方推荐的修复程序!
通过此问题发现:https://github.com/facebook/react-native/issues/35210。
从this PR here复制
对于我的RN 0.66.0项目,我只需添加以下行:
smdnsysy3#
对我来说,这是有效的(在阅读了Tony的链接后),我的react版本是0.66.0
已更改此文件android\app\build.gradle
至
u4dcyp6a4#
简短回答:
在您的android/app/build.gradle中创建一个新的应用程序
变更
implementation 'com.facebook.react:react-native:+'
to ---〉(将0.67.2替换为当前React原生版本)
implementation 'com.facebook.react:react-native:0.67.2!!'
个长答:
发生这种情况是因为所有模板都按范围引用React Native依赖项,如
implementation 'com.facebook.react:react-native:+'
。通常,此依赖项从./node_modules/react-native/android中的本地Maven存储库中解析,但由于它已发布到Maven Central,因此它现在获取最新的RC。您可以通过在应用的Gradle文件中使用类似
implementation 'com.facebook.react:react-native:0.67.2!!'
的内容将React Native依赖项强制设置为您期望的版本来解决此问题。如果您的项目或其可传递依赖项依赖于较新的版本,则!!
是限制Gradle升级的简写。yrdbyhpb5#
对我来说,如果你的React原生应用程序版本〉= 0.63,你可以更新补丁版本,这应该解决你的问题。
链接:https://github.com/facebook/react-native/issues/35210#:~:text=We%20have%20prepared%20releases%20for%20all%20the%20main%20versions%20of%20react%2Dnative%20with%20an%20hotfix%3A
如果没有,请转到android/build.gradle,然后在allprojects对象中添加以下代码,其中包含package.json中react native的当前版本
e7arh2l66#
如果您使用的不是最新版本的react-native. https://github.com/facebook/react-native/issues/35210,以下是解决此问题的解决方法
2guxujil7#
我也遇到了同样的问题。现在有一个新的react-native补丁,所以在你的package.json中更新它。
我的是
我把它改成了
这对我很有效
kninwzqo8#
转到android文件夹-〉build.gradle文件-〉在allprojects对象中并 * 添加以下代码 *。从node_modules -〉react-native -〉package.json//“版本”中添加react原生版本:“0.68.2”。
参见FB/rn#35204