react-native - Expo - 在物理设备上运行时独立 APK 崩溃;在 expo-cli 上运行的应用程序
问题描述
首先,我是 react-native 的新手,所以请原谅我缺少有关故障排除的知识。
我使用 Expo 构建了一个基本应用程序,当我运行expo start
并扫描 QR 码以在我的物理设备上运行它时,它运行得非常好。
然后expo build:android
我在终端中运行并选择 apk 来创建一个 apk 文件。它会安装,但是当我尝试在手机上打开该应用程序时,它会立即崩溃。我不确定为什么会发生这种情况,或者如何解决它。
我采取的一些步骤:
- 重新安装expo-cli
- 重新安装 react-native
- 冉
npm-update
- 在我的 app.json 文件中手动将我的 sdkVersion 降级为 37.0.0(根据在线论坛的建议)
这是我的 app.json 文件:
{
"expo": {
"name": "FactApp",
"slug": "FactApp",
"sdkVersion": "37.0.0",
"platforms": [
"ios",
"android",
"web"
],
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"android": {
"package": "com.kmdevops.factapp",
"versionCode": 2,
"config": {
"googleMobileAdsAppId": "ca-app-pub-7529073010403742/8555991419"
}
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.yourcompany.yourappname",
"buildNumber": "1.0.0"
},
"description": ""
}
}
这是我的 package.json 文件:
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@react-native-community/masked-view": "0.1.6",
"@react-navigation/native": "^5.5.1",
"expo": "^37.0.12",
"expo-ads-admob": "~8.1.0",
"expo-linear-gradient": "~8.1.0",
"react": "~16.9.0",
"react-dom": "~16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",
"react-native-gesture-handler": "~1.6.0",
"react-native-reanimated": "~1.7.0",
"react-native-safe-area-context": "0.7.3",
"react-native-screens": "~2.2.0",
"react-native-web": "~0.11.7",
"react-navigation": "^4.3.9",
"react-navigation-stack": "^2.7.0",
"react-navigator": "0.0.0-0"
},
"devDependencies": {
"babel-preset-expo": "~8.1.0",
"@babel/core": "^7.8.6"
},
"private": true
}
任何帮助将不胜感激!
解决方案
所以我用 expo-cli 创建了一个全新的应用程序,结果 APK 崩溃了,所以我认为这是 expo 的问题。我使用 react-native cli 为这个应用程序创建了一个 apk,它可以正常工作
推荐阅读
- javascript - 如何获得激活的标签?
- c++ - 当用户输入字母 n 作为主要标记时,主要标记将改为由数字表示:
- python - 如何在散景中突出显示另一个人物的线条?
- javascript - 显示数据库中的随机文件
- plotly - 使用按钮更新等值线图上的 plotly color_discrete_map
- node.js - 如何仅安装 typescript 依赖项并构建(package.json,npm),构建时避免 150MB 的依赖项
- python - while循环列表python
- python - Tweepy 流:TypeError:“状态”对象不可下标
- python - 查找卡车名称并计算持续时间
- rendering - Blender 2.93 在选择不同的视图层后不保存视图层渲染设置