web-dev-qa-db-ja.com

31.0.0は有効なSDKバージョンではありません。オプションは、バージョン管理されていない26.0.0です

Expoバージョンを31.0.0に更新した後、アプリを実行できなくなりました。 iOSバージョン12をサポートするために、このアップグレードが必要でした。 Androidアプリをビルドしようとした後、動作しなくなりました。

私のpackage.jsonは次のようになります:

{
  "name": "myapp",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "react-native-scripts": "1.13.1",
    "jest-expo": "^31.0.0",
    "react-test-renderer": "16.3.0-alpha.1"
  },
  "main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
  "scripts": {
    "start": "react-native-scripts start",
    "eject": "react-native-scripts eject",
    "Android": "react-native-scripts Android",
    "ios": "react-native-scripts ios",
    "test": "jest"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "expo": "^31.0.4",
    "react": "16.5.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-31.0.1.tar.gz",
    "react-native-image-slider": "^2.0.3",
    "react-native-onesignal": "^3.1.4",
    "react-native-progress": "^3.4.0",
    "react-native-render-html": "^3.9.3",
    "react-navigation": "^1.5.11"
  }
}

app.jsonは次のようになります。

{
  "expo": {
    "sdkVersion": "31.0.0",
    "name": "myapp",
    "slug": "myapp",
    "version": "0.1.1",
    "isDetached": true,
    "detach": {
      "scheme": "expe6b74e69f7904f4b8961fc359e0dc1ce",
      "androidExpoViewUrl": "https://s3.amazonaws.com/exp-exponent-view-code/Android-v2.4.0-sdk26.0.0-e63d9209-070c-4118-b06b-c60e82da0b66.tar.gz"
    },
    "Android": {
      "package": "com.myapp"
    }
  }
}

Android build.gradleアプリは次のようになります。

Android {
  compileSdkVersion 27
  buildToolsVersion '26.0.1'

  defaultConfig {
    applicationId 'com.ferrometal12'
    targetSdkVersion 27
    versionCode 1
    versionName '0.1.1'
    ndk {
      abiFilters 'armeabi-v7a', 'x86'
    }
    multiDexEnabled true
    testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    // Deprecated. Used by net.openid:appauth
    manifestPlaceholders = [
      'appAuthRedirectScheme': 'Host.exp.exponent'
    ]
  }

これがなぜ機能していないのか、Android?

注:expo 26.0.0を実行する前にtargetSdkVersionを26に変更しました。expoを更新した後、targetSdkVersionを27に更新しました

更新:このエラーはエミュレータで発生し、実際のデバイスではまだ試していませんが、同じことが実際のデバイスでも起こると感じています。

8
Mizlul

ExpoをアンインストールしてからAndroidデバイスにインストールする必要があります。

3
trojek

walk-troughのアップグレード を参照してください...

{
    "react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz",
    "expo": "^31.0.0",
    "react": "16.5.0"
}

変更したsdkVersionは、おそらくAndroid SDKバージョンであり、次のようになります。

"sdkVersion": "26.0.0"

現在の最大値は28.0.0、ただし26.0.0、これはおそらく使用されるべきです。

3
Martin Zeitler

Androidのプレイストアからのモバイルエキスポアプリを更新しました。それは私のために働いた。

2
Sameer

私のアプリはデタッチ/イジェクトされ、ExpoKitを使用しています。次の構成は私のために働いた:

package.json

"expo": "^31.0.6",
"expokit": "31.0.2",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-31.0.1.tar.gz",

app.json

"sdkVersion": "31.0.0"

アップグレードウォークスルー

0
Áron Géczy