Expo React本机应用程序在android上崩溃

Expo React本机应用程序在android上崩溃,android,node.js,reactjs,react-native,expo,Android,Node.js,Reactjs,React Native,Expo,自从我开始使用React Native with Expo编程以来,我一直在使用ios物理设备和Expo应用程序。我从来没有什么大问题 现在我想开始修复android上的任何bug,但在我的android物理设备上运行Expo应用程序时,Expo应用程序在下载包时崩溃(关闭)。它不会将任何错误打印到我的控制台,所以我甚至不知道从哪里开始 这是我的app.json: { "expo": { "name": "PointoUserApp&

自从我开始使用React Native with Expo编程以来,我一直在使用ios物理设备和Expo应用程序。我从来没有什么大问题

现在我想开始修复android上的任何bug,但在我的android物理设备上运行Expo应用程序时,Expo应用程序在下载包时崩溃(关闭)。它不会将任何错误打印到我的控制台,所以我甚至不知道从哪里开始

这是我的app.json:

{
  "expo": {
    "name": "PointoUserApp",
    "slug": "PointoUserApp",
    "version": "1.0.0",
    "platforms": [
      "ios",
      "android",
      "web"
    ],
    "orientation": "portrait",
    "icon": "./assets/Images/icon.png",
    "splash": {
      "image": "./assets/Images/splash.png",
      "resizeMode":"contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "bundleIdentifier": "com.meretc23.PointoUserApp"
    },
    "android":{
      
    },
    "web": {
      "favicon": "./assets/Images/favicon.png"
    }
  }
}
注意,它在android下是空的,因为我不知道需要什么

下面是我的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": {
    "@expo-google-fonts/inter": "^0.1.0",
    "@fortawesome/fontawesome-svg-core": "^1.2.30",
    "@fortawesome/free-brands-svg-icons": "^5.14.0",
    "@fortawesome/free-solid-svg-icons": "^5.14.0",
    "@fortawesome/react-native-fontawesome": "^0.2.5",
    "@ionic/react": "^5.3.1",
    "@react-native-community/art": "^1.2.0",
    "@react-native-community/async-storage": "~1.11.0",
    "@react-native-community/datetimepicker": "2.4.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/bottom-tabs": "^5.7.3",
    "@react-navigation/material-top-tabs": "^5.2.16",
    "@react-navigation/native": "^5.7.2",
    "@react-navigation/stack": "^5.8.0",
    "@types/react-native-snap-carousel": "^3.8.2",
    "core-js": "^3.6.5",
    "expo": "^38.0.0",
    "expo-constants": "~9.1.1",
    "expo-font": "~8.2.1",
    "expo-linking": "^1.0.3",
    "expo-localization": "~8.2.1",
    "expo-location": "~8.2.1",
    "expo-permissions": "~9.0.1",
    "expo-status-bar": "^1.0.0",
    "firebase": "^7.21.1",
    "geolib": "^3.3.1",
    "i18n-js": "^3.7.1",
    "react": "16.11.0",
    "react-dom": "16.11.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
    "react-native-check-box": "^2.1.7",
    "react-native-gesture-handler": "~1.6.0",
    "react-native-localize": "^1.4.1",
    "react-native-map-clustering": "^3.3.9",
    "react-native-map-link": "^2.7.17",
    "react-native-maps": "0.27.1",
    "react-native-modal": "^11.5.6",
    "react-native-picker-select": "^8.0.0",
    "react-native-progress": "^4.1.2",
    "react-native-progress-circle": "^2.1.0",
    "react-native-qrcode-svg": "^6.0.6",
    "react-native-reanimated": "~1.9.0",
    "react-native-restart": "0.0.17",
    "react-native-safe-area-context": "^3.0.7",
    "react-native-screens": "~2.9.0",
    "react-native-snap-carousel": "^4.0.0-beta.5",
    "react-native-svg": "12.1.0",
    "react-native-tab-view": "^2.15.1",
    "react-native-web": "~0.11.7",
    "react-navigation": "^4.4.0",
    "react-navigation-stack": "^2.8.2",
    "react-redux": "^7.2.1",
    "redux": "^4.0.5",
    "redux-thunk": "^2.3.0",
    "yargs-parser": "^18.1.3"
  },
  "devDependencies": {
    "@babel/core": "^7.8.6",
    "babel-preset-expo": "^8.2.3"
  },
  "private": true
}
经验教训:如果你想在ios和android上运行一个应用程序,在你的应用程序太大而不知道问题出在哪里之前,一定要同时在这两个应用程序上进行监控


帮助感谢

我的上一个世博项目甚至没有android属性,我的ios属性只有supportsTablet。尝试完全删除android属性

我现在遇到了同样的问题。在我的情况下,我已经把范围缩小到android adaptiveIcon配置。如果我使用一个真正的png路径,应用程序在捆绑下载时崩溃。如果我没有在android下加入adaptiveIcon,应用程序就会崩溃。它不会崩溃的唯一方法是将adaptiveIcon链接到一个甚至不存在的文件。这会记录一个错误,Expo无法找到该文件,但应用程序将实际加载。非常奇怪。尝试将其添加到app.json文件中

"android": {
  "adaptiveIcon": {
    "foregroundImage": "./assets/anImageThatDoesNotExist.png",
    "backgroundColor": "#FFFFFF"
   }
 },

再看看我的应用程序有几次在没有任何警告的情况下崩溃。有时我需要重置高速缓存。几乎所有的时间都有一个我没有注意到的错误。你能发布你的app.is和上一个文件吗?