我无法在模拟器和设备上运行我的应用程序。之前它可以运行。
我已经尝试了此博客中提到的每个步骤
我的package.json
是
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"android-windows": "react-native bundle --platform android --dev false --entry-file App.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && react-native run-android",
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject",
"debugWindow": "start 'rndebugger://set-debugger-loc?host=localhost&port=8081'",
"debugLinux": "open 'rndebugger://set-debugger-loc?host=localhost&port=8081'"
},
"dependencies": {
"expo": "^31.0.4",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-31.0.1.tar.gz",
"react-navigation": "^3.0.8"
},
"devDependencies": {
"babel-preset-expo": "^5.0.0"
},
"private": true
}
App.json
是
{
"expo": {
"name": "AwesomeProject",
"slug": "AwesomeProject",
"privacy": "public",
"sdkVersion": "31.0.0",
"platforms": [
"ios",
"android"
],
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true
}
}
}
我尝试运行npm install
2-3次,但似乎无济于事。
我不明白为什么在此链接中没有针对该选项的发行说明时,为什么建议选项32.0.0 。 Upgrading Expo
答案 0 :(得分:2)
这是一个已知问题https://github.com/expo/expo/issues/3112
这是由于Play商店中的Expo应用程序存在错误。如果您使用的是v2.10.0
,则应升级到v2.10.1
https://github.com/expo/expo/issues/3112#issuecomment-451697372
很抱歉给您带来麻烦我们在v2.10.1中修复了该问题, 几个小时后就发布了,所以您应该已经有一个 更新。
https://play.google.com/store/apps/details?id=host.exp.exponent&hl=en
新功能
使用32岁以上的SDK加载体验时修复的问题
答案 1 :(得分:2)
如果上述任何一个答案对您都不起作用,这就是我的解决方法。
打开您的app.json
和sdkVersion
。升级之前是33.0.0
,如下所述。
"sdkVersion": "35.0.0"
答案 2 :(得分:1)
尝试从Play商店更新您的expo应用程序。它对我有用。
答案 3 :(得分:1)
这对我来说是固定的:
运行expo update 35.0.0
。 (用您想要的版本替换版本。35.0.0是本文的最新版本。)这将通过更新app.json和package.json并安装最新的依赖项来更新expo。
引用自:
https://docs.expo.io/versions/latest/workflow/upgrading-expo-sdk-walkthrough/
还要检查:
npm install -g expo-cli
答案 4 :(得分:0)
您可以通过将引用版本32的那些文件更改为您的移动设备支持的文件(例如28)来对其降级:
app.json:
"sdkVersion": "32.0.0"
→"sdkVersion": "28.0.0"
package.json:
"expo": "^32.0.0",
→"expo": "28.0.0"
"react-native": ".../sdk-32.0.0.tar.gz",
→"react-native": ".../sdk-28.0.0.tar.gz"
"jest-expo": "^32.0.0"
→"jest-expo": "28.0.0"
答案 5 :(得分:0)
如果您运行了expo update 35.0.0
或其他版本,但仍不能解决错误,并且退出了EXPO项目...
检查app.json
中是否具有正确的分离属性。注意iosExpoViewURL
和androidExpoViewURL
键的URL上的sdk号。
"detach": {
"iosExpoViewUrl": "https://s3.amazonaws.com/exp-exponent-view-code/ios-v2.13.0-sdk35.0.0-a30ebc9b-3db4-42f4-b677-e468076baf18.tar.gz",
"androidExpoViewUrl": "https://s3.amazonaws.com/exp-exponent-view-code/android-v2.13.0-sdk35.0.0-b816b7af-88da-4ca9-87a5-7438f0c21b6e.tar.gz"
}
答案 6 :(得分:0)
尝试
expo update
它适合我的情况:)
答案 7 :(得分:0)
清除您Android设备上Expo应用程序的所有数据和缓存。它对我有用。
答案 8 :(得分:0)
如果您正在使用Expo应用程序,请更新它们,因为SDK尚未更新
我更新了它,并且有效了:)
答案 9 :(得分:0)
在package.json中
更改
"expo": "^31.0.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz",
收件人
"expo": "^32.0.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
删除node_module文件夹和package-lock.json文件
然后运行
npm i