博览会-在物理设备上运行时,独立的APK崩溃;在expo-cli上运行的应用程序

时间:2020-06-17 17:37:04

标签: react-native apk react-native-android expo

首先,我是本机新手,所以请原谅我关于故障排除的知识。

我已经使用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
}

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

所以我用expo-cli创建了一个全新的应用程序,结果APK崩溃了,所以我认为这是expo的问题。我使用react-native cli为此应用创建了一个apk,并且没有问题