成功安装 Android React Native 后 Expo EAS 构建崩溃并消失
2022-12-03
1641
我的 expo 应用程序通常在 Expo go 上运行,即使使用下面的命令它仍然可以运行。
npx expo start --no-dev --minify
但是当使用不同的方法构建时它根本不起作用,并且出现不同的崩溃。
eas build -p android --profile preview
它生成 APK,当我拖到模拟器(android 11)时它会获得“成功安装”,所以我打开它并显示启动画面,之后它崩溃并且应用程序从设备上消失。它似乎被自动卸载了,因为我在文件中的任何地方都找不到它。
expo build: android -t apk
使用上面弃用的方法我仍然会得到“成功安装”,但它永远不会进入启动画面,只会出现白屏,并且它永远不会崩溃或从设备上消失。
我在多个设备和 android 版本上尝试过,但每次构建时我都会遇到同样的问题。所以我猜问题出在构建上。我找不到其他人有解决方案或提示。
我尝试卸载多个 npm 包以查看问题是否出在何处,但没有成功。
这是我第一次使用 React Native 和 Expo,所以我可能会遗漏一些东西。
//app.json
{
"expo": {
"name": "tv_box",
"slug": "tv_box",
"version": "1.0.0",
"orientation": "landscape",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#FFFFFF"
},
"package": "com.test.tv_box"
},
"web": {
"favicon": "./assets/favicon.png"
},
"extra": {
"eas": {
"projectId": "4b9e5710-cdd0-4e3a-846d-3faed6c56510"
}
}
}
}
//eas.json
{
"cli": {
"version": ">= 2.8.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
},
"submit": {
"production": {}
}
}
//package.json
{
"name": "tv_box",
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web"
},
"dependencies": {
"@react-native-async-storage/async-storage": "^1.17.10",
"@react-navigation/stack": "^6.3.2",
"expo": "~46.0.7",
"expo-status-bar": "~1.4.0",
"expo-system-ui": "~1.3.0",
"expo-updates": "~0.14.7",
"pocketbase": "^0.7.4",
"react": "18.0.0",
"react-native": "0.69.6",
"react-native-gesture-handler": "~2.5.0",
"react-native-restart": "^0.0.24",
"react-native-vector-icons": "^9.2.0",
"expo-av": "~12.0.4"
},
"devDependencies": {
"@babel/core": "^7.12.9"
},
"private": true
}
3个回答
由于发布版本,在大多数情况下它会消失。在调试版本中,您必须获取正常错误屏幕(红色),在 eas.json -> 开发块中添加
"developmentClient": true
并重试。
mirik999
2022-12-03
已解决
npm i react-native-screens
并确保已将所有内容更新到最新版本,以便使用 EAS 进行构建,包括 Expo SDK、React Native、expo 和 eas CLI。
Tiago Godoy
2022-12-03
对于 iOS,此方法有效
npm install react-native-screens
Awara Amini
2023-07-10