簡體   English   中英

Expo EAS build android apk 在物理設備上崩潰

[英]Expo EAS build android apk crash on physical device

我建立了eas -p android --profile luna 然后,我下載到物理設備中。 打開它時,應用程序在顯示啟動畫面后崩潰。 Expo SDK 45.0.0。
我試圖更改eas.json配置文件。 這是我嘗試過的。

"luna": {
  "android": {
    "buildType": "apk",
    "distribution": "internal"
  }
}

"luna": {
  "android": {
    "buildType": "apk",
    "distribution": "internal",
    "gradleCommand": ":app:assembleRelease"
  }
}

"luna": {
  "android": {
    "buildType": "apk"
  }
},

"luna": {
  "android": {
    "buildType": "apk",
    "developmentClient": true
  }
},

DevelopmentClient 一個可以打開,但不是我想要的那個。
有人可以告訴或指導或建議我嗎

  1. 如何使用 eas 為物理設備構建 apk
  2. 我應該降級到 Expo SDK 44.0.0 並使用expo build:android嗎?
  3. 如何為沒有 expo 的物理設備創建 apk(如彈出博覽會)
  4. expo build經典版本將被完全刪除。 我以后應該在沒有 expo 的情況下構建 react-native 應用程序嗎?

我的 package.json 文件。

 "dependencies": {
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/datetimepicker": "6.1.2",
    "@react-native-community/netinfo": "8.2.0",
    "@react-native-masked-view/masked-view": "0.2.6",
    "@react-navigation/material-top-tabs": "^6.2.1",
    "@react-navigation/native": "^6.0.10",
    "@react-navigation/stack": "^6.2.1",
    "expo": "~45.0.0",
    "expo-splash-screen": "~0.15.1",
    "expo-sqlite": "~10.2.0",
    "expo-status-bar": "~1.3.0",
    "firebase": "^9.8.1",
    "react": "17.0.2",
    "react-dom": "17.0.2",
    "react-native": "0.68.2",
    "react-native-collapsible": "^1.6.0",
    "react-native-gesture-handler": "~2.2.1",
    "react-native-modal-datetime-picker": "^13.1.2",
    "react-native-pager-view": "5.4.15",
    "react-native-safe-area-view": "^1.1.1",
    "react-native-screens": "~3.11.1",
    "react-native-svg": "12.3.0",
    "react-native-web": "0.17.7",
    "victory-native": "^36.4.1",
    "expo-dev-client": "~0.9.6"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@types/react-native": "^0.67.7",
    "babel-plugin-root-import": "^6.6.0"
  },

您可以嘗試記錄您的錯誤。 我建議您采取的第一步是將您的設備(啟用 USB 調試)連接到您的 PC,轉到安裝adb的位置,在該文件夾中打開一個 CMD/PowerShell 窗口,運行adb logcat *:S ReactNative:V ReactNativeJS:V ,並嘗試打開崩潰的應用程序以查看它在發生時記錄的內容。

我遇到的一個問題是 EAS 在構建過程中添加的一些依賴項存在問題,所以我通過npm i分別安裝它( react-native-reanimated@^2.8.0 ),然后我的構建工作與 EAS。

正如 gusti 提到的,您需要調試您的應用程序,然后您可以找到問題並修復它。 對我來說,問題是我需要安裝一個名為“react-native-safe-area-context”的 package:

  • npm install react-native-safe-area-context然后運行expo doctor --fix-dependencies使其與您的 sdk 版本兼容。
  • 或者直接運行expo install react-native-safe-area-context

如果它不起作用,請嘗試運行expo update ,它將升級 sdk 版本並重新安裝所有軟件包以使其與新版本兼容。

這是我的問題,您可能會遇到不同的問題,但您只需要閱讀錯誤消息並修復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM