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

ОБНОВЛЕНИЕ: эта ошибка возникает на эмуляторе, я еще не пробовал на реальном устройстве, но у меня такое ощущение, что то же самое будет и на реальном устройстве.

У меня точно такая же проблема. Ты найдешь как исправить?

Aral Roca 02.12.2018 19:10

Я вижу, что у вас разные версии sdk в package.json и app.json

Aral Roca 02.12.2018 19:53

Я пока не нашел решения, а как насчет вас?

Mizlul 03.12.2018 10:53

@Mizlul только что добавил ответ.

Martin Zeitler 03.12.2018 11:55

@Mizlul Я просто обновил sdk app.json :) И теперь он работает

Aral Roca 06.12.2018 22:50

@AralRoca, вы можете опубликовать свой app.json, а мой package.json все еще не работает.

Mizlul 07.12.2018 14:19

Сделайте npm i -g expo для обновления версии и сделайте в другой папке expo init, затем скопируйте версии зависимостей app.json и package.json в свой проект.

Aral Roca 07.12.2018 14:23

@AralRoca, что для вас sdkVersion в app.json? у меня 31.0.0 не работает

Mizlul 07.12.2018 14:46

@Mizlul У меня 31.0.0 в app.json. Разница в том, что у меня также есть «response-native»: «github.com/expo/react-native/archive/sdk-31.0.0.tar.gz» `в package.json,`

Aral Roca 07.12.2018 15:30

спасибо, я также постараюсь обновить реакцию на родную

Mizlul 10.12.2018 09:52
17
10
15 150
9

Ответы 9

Вам необходимо удалить, а затем установить Expo на свое устройство Android.

У меня вообще нет expo, установленного на моем устройстве Android!

Mizlul 03.12.2018 11:59

Исправлена ​​проблема.

Guilherme Ferreira 10.12.2018 17:50

@Mizlul, когда мы выбираем «Запускать на устройстве / эмуляторе Android», expo сначала устанавливает приложение «Expo» на эмуляторе, а затем запускает приложение. Это происходит при обновлении Expo-CLI и Expo App. Вам просто нужно удалить приложение Expo из эмулятора и запустить проект (запуск npm), он установит обновленную версию приложения Expo на ваш эмулятор. То же самое и в случае с телефоном Android, вам необходимо обновить приложение Expo на своем телефоне.

Zaheer 11.12.2019 14:51

см. апгрейд прогулочное корыто ...

{
    "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, возможно, следует использовать его.

Я попробую эту конфигурацию

Mizlul 03.12.2018 12:02

Я получаю несоответствие версии javascrip и реакции на родную

Mizlul 07.12.2018 14:18

Если вы используете expokit, убедитесь, что в вашем package.json также установлена ​​последняя версия expokit.

Aron Gates 13.12.2018 22:13

Мое приложение отсоединено / извлечено, и я использую 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"

и увидев прохождение апгрейда

Обновленное приложение Mobile Expo из play-store в android. У меня это сработало.

Я столкнулся с этой проблемой сегодня; мое приложение Expo для Android вызывало эту ошибку после того, как playstore обновил это приложение.

Я решил проблему, установив старую версию Expo APP (Вы можете найти более старые версии приложений PlayStore на apkpure.com) и загрузив Expo Android App версии 2.12, которая поддерживает SDK 31.0.0.

Этот шаг предназначен для выброшенных выставочных проектов:

Если вы запустили expo update 35.0.0 или другую версию, и это не помогло устранить ошибку, и если вы выбросили свой выставочный проект ...

Проверьте, есть ли у вас правильные свойства отсоединения в вашем app.json. Обратите внимание на номер SDK в URL-адресе ключей iosExpoViewURL и androidExpoViewURL.

"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"
}

У меня возникла та же проблема. Проблема была решена путем очистки данных и кеша приложения Expo на устройстве Android. Теперь все работает нормально.

Чтобы решить эту проблему, просто перейдите на последнюю версию node и expo cli. Удалите expo со своего телефона и сделайте новую установку из магазина приложений. Тебе должно быть хорошо.

Добрый день,

ЭТО РАБОТАЕТ

  1. Если вы используете студию Android

uninstall expo in the virtual android device. If you are not sure how to uninstall you can delete the virtual device in Android Virtual Device Manager so that all things are refreshed. Reinstall the virtual device again

  1. Если вы используете настоящее устройство Android

find the expo and uninstall it.

@AndriyFM Я рад, что это помогло

Aljohn Yamaro 28.08.2020 05:06

Другие вопросы по теме