经过两天的研究,我希望有人能够朝着正确的方向向我发表讲话。 升级RN版本后,我在尝试在android上执行时遇到错误: error on android
我需要那个版本的RN,因为库依赖(我能够上下改变RN版本),并且我在package.json和app.json上不断更新expo版本{ {3}}
但我无法更新javascript版本。它来自哪里?
除此之外,在iOS上正常运行。那里有解决方案吗?
谢谢!
答案 0 :(得分:0)
您可能已经注意到link you shared,原生版本0.54.x适用于Expo 26版。
错误消息告诉您,您正在使用与Expo v25相关联的React Native版本。 如果要解决此问题,请确保您的React Native版本为0.54.x,并且您的Expo版本为26。
或者您也可以使用Expo使用的React Native分支:
json
"react-native": "https://github.com/expo/react-native/archive/sdk-26.0.0.tar.gz"
所有这些都说,最新的版本是27,所以也许只是一直更新:)
如果这是一个独立版本,那么请确保使用最新的本机模块更新它,因为这可能导致平台特定错误。
答案 1 :(得分:0)
我曾经遇到过这种不匹配。因为我打开了一个不同的旧项本服务器关闭的不同项目。所以新项目运行旧服务器不匹配。
尝试关闭服务器并再次运行项目。
答案 2 :(得分:0)
这是由于Android与您的RN项目相比具有不同版本的React Native。您可以强制Android项目使用特定版本的React Native,默认情况下,在Android内部文件(应用程序的build.gradle)中未指定React Native版本。
你的app build.gradle现在看起来很像。
compile "com.facebook.react:react-native:+"
您应该将build.gradle更新为
compile ("com.facebook.react:react-native:<your version of RN here>") {
force = true
}
实施例
compile ("com.facebook.react:react-native:0.50.4") {
force = true
}
如果您正在寻找应用程序gradle文件,则应该位于此处:RN-Project/android/app/build.gradle
这些是我为使其发挥作用而采取的步骤。我希望这有帮助。