将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上运行了吗?
注意:在26.0.0世博会之前,我也将targetSdkVersion设置为26,在更新世博会后,我还将targetSdkVersion也更新到了27
更新:此错误发生在模拟器上,我还没有在真实设备上尝试过,但是我感觉在真实设备上也是如此。
答案 0 :(得分:3)
请参阅upgrade 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
时,应该使用此最大值。
答案 1 :(得分:2)
您必须先卸载然后在Android设备上安装Expo。
答案 2 :(得分:2)
从android的Play商店更新了移动博览会应用程序。它对我有用。
答案 3 :(得分:1)
美好的一天,
这很正常
在虚拟android设备中卸载expo。 如果您不确定如何 要卸载,您可以在 Android Virtual中删除虚拟设备 设备管理器,以便刷新所有内容。 再次重新安装虚拟设备
找到博览会并卸载它。
答案 4 :(得分:0)
我的应用程序已拆离/弹出,我正在使用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"
答案 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)
我遇到了同样的问题,该问题通过在Android设备上清除Expo应用程序的数据和缓存得以解决。现在工作正常。
答案 7 :(得分:0)
要解决此问题,只需迁移到最新版本的node和expo cli。卸载手机上的expo,然后从应用商店进行全新安装。你应该很好。
答案 8 :(得分:-1)
我今天遇到了这个问题; Playstore更新此应用后,我的Expo Android应用带来了此错误。
我通过安装较旧版本的Expo APP (您可以在apkpure.com上找到旧版本的playstore应用)解决了问题,并下载了支持SDK 31.0的版本2.12的Expo Android App。 .0