31.0.0不是有效的SDK版本。选项为32.0.0 UNVERSIONED

时间:2019-01-06 05:51:15

标签: reactjs react-native expo

我无法在模拟器和设备上运行我的应用程序。之前它可以运行。

我已经尝试了此博客中提到的每个步骤

Official Blog for updation

我的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

10 个答案:

答案 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.jsonsdkVersion。升级之前是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/

还要检查:

  • 您的博览会应用程序是应用程序/游戏商店中的最新版本。
  • 您的expo cli是最新版本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中是否具有正确的分离属性。注意iosExpoViewURLandroidExpoViewURL键的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