Android 反应本机版本不匹配。本机0.54.4和Javascript 0.52

Android 反应本机版本不匹配。本机0.54.4和Javascript 0.52,android,react-native,expo,Android,React Native,Expo,经过两天的研究,我希望有人能告诉我正确的方向。 升级RN版本后,我在尝试在android上执行时遇到错误: 我需要那个版本的RN,因为它依赖于库(我可以上下更改RN版本),并且我在package.json和app.json上不断更新相应的expo版本 但是我无法更新javascript版本。它来自哪里 除此之外,在iOS上运行正常。有什么解决办法吗 谢谢 您可能已经从中注意到,原生版本0.54.x适用于Expo版本26 错误消息告诉您,您正在使用与Expo的v25关联的React Native

经过两天的研究,我希望有人能告诉我正确的方向。 升级RN版本后,我在尝试在android上执行时遇到错误:

我需要那个版本的RN,因为它依赖于库(我可以上下更改RN版本),并且我在package.json和app.json上不断更新相应的expo版本

但是我无法更新javascript版本。它来自哪里

除此之外,在iOS上运行正常。有什么解决办法吗


谢谢

您可能已经从中注意到,原生版本0.54.x适用于Expo版本26

错误消息告诉您,您正在使用与Expo的v25关联的React Native版本。 如果要解决此问题,请确保React本机版本为0.54.x,Expo版本为26

或者,您也可以使用Expo使用的React Native分支:
json
“反应本机”:https://github.com/expo/react-native/archive/sdk-26.0.0.tar.gz"

所有这些都说明,最新的版本是27,所以可能只需要一路更新:)


如果这是一个独立版本,请确保使用最新的本机模块对其进行更新,因为这可能是导致平台特定错误的原因。

我以前遇到过这种不匹配。因为我在没有关闭旧的本地开发服务器的情况下打开了另一个项目。因此,新项目运行的旧服务器不匹配


请尝试关闭服务器,然后再次运行您的项目。

这是由于Android的React Native版本与您的RN项目不同。您可以强制Android项目使用特定版本的React-Native,默认情况下,在Android内部文件(应用程序的build.gradle)中未指定React-Native版本

您的应用程序build.gradle目前最可能的外观

compile "com.facebook.react:react-native:+" 
您应该更新build.gradle使其看起来像什么

compile ("com.facebook.react:react-native:<your version of RN here>") {
    force = true
} 
如果您正在查找app gradle文件,它应该位于此处:
RN Project/android/app/build.gradle


这些是我为使它发挥作用而采取的步骤。我希望这有帮助

嗨,埃文,谢谢你的解释。我开始认为这与android studio有关使用expo分支作为参数,我可以通过QR(expo app)正确执行应用程序,但android无法编译。-使用0.54.4作为参数,我也可以通过expo应用程序正确执行,android也可以正确编译,但它失败了,出现了“react native version mismatch”。在这两种情况下,我都使用了正确的expo版本(26)。android上有三个组件(图像选择器、地图和矢量图标)。这可能与此有关?这个问题困扰了我好几天,甚至在重新启动计算机之后。最后是解决强制RN匹配javascript的问题。这不是一个理想的解决方案,但我没有找到办法
compile ("com.facebook.react:react-native:0.50.4") {
        force = true
    }