簡體   English   中英

運行子進程 native-run 時出錯

[英]An error occurred while running subprocess native-run

我是 IONIC 的新手。 我正在學習它。
我正在嘗試為 android 運行 ionic 應用程序,但它給了我以下錯誤。

在此處輸入圖片說明

構建成功,但運行子進程 native-run 時出錯。
如果我為瀏覽器運行 ionic 應用程序,那就沒問題了。 沒有錯誤發生

將我的 IONIC 版本更新到 5.4.9
和平台工具到 29.0.5

錯誤變化:

[native-run] 未找到硬件設備,正在嘗試模擬器...
[native-run] 選定的模擬器 emulator-5554
[native-run]正在安裝平台\\android\\app\\build\\outputs\\apk\\debug\\app-debug.apk...
[native-run] ERR_UNKNOWN:來自 adb 的非零退出代碼:1
[ERROR] 運行子進程 native-run 時出錯。

在此處輸入圖片說明

設備離線...沒有設備連接到您的計算機或您尚未在設備上啟用調試。 如果您不在設備上運行它,請運行命令 ionic cordova run android --emulator 確保您的 android sdk 中有一個模擬器。

找了半天終於找到解決辦法:

您需要將 google-services.json 文件放在項目目錄的根目錄中。

希望它會幫助某人。

確保 native-run 可以訪問 Android SDK 和 AVD Home,如果兩者都找不到,它將不會運行:

$native-run android --sdk-info
SDK Location:         /home/<username>/Android/Sdk
AVD Home:             /home/<username>/.android/avd

API Level:            28
Packages:             Android SDK Platform 28  platforms;android-28  6
(!) Missing Packages: Android Emulator  emulator  
                      Google Play Intel x86 Atom System Image  system-images;android-28;google_apis_playstore;x86  /.+/


Tools:

Android SDK Build-Tools 28.0.3  build-tools;28.0.3  28.0.3
Android SDK Platform-Tools  platform-tools  29.0.6
Android SDK Tools 26.1.1  tools  26.1.1

如果缺少 AVD Home,您應該能夠創建一個空的 avd 文件夾以使本機運行愉快:

mkdir -p $HOME/.android/avd

有時您可能沒有在您的設備上激活開發者模式。

這是用於離子應用程序

對於那些仍在尋找答案的人..就像我一樣! 我在網上嘗試了很多選項和答案,但都沒有奏效。 最后了解到這可能有很多原因,但在我的情況下,我的 AVD 中的某些內容可能已損壞。 我有離子應用程序,我解決了這個問題

  1. 刪除所有虛擬設備(AVD 管理器)

  2. 從 SDK Manager 卸載我擁有的 API

  3. 轉到您的項目目錄並運行(如果您使用電容器,這對您來說是不同的):

    科爾多瓦平台刪除android

  4. 重啟電腦

  5. 重新安裝(這可能不是每個人都需要的)

  6. 閱讀此頁面並驗證您的 android studio 已安裝所有必需的軟件包或工具https://developer.android.com/studio/intro/update

  7. 科爾多瓦平台准備安卓

  8. 離子構建

  9. 離子科爾多瓦運行安卓

這是你應該看到的(伙計,很高興看到這個!):

構建以下 apk:C:\\tech\\mobile-app-dev\\budgetLenz\\platforms\\android\\app\\build\\outputs\\apk\\debug\\app-debug.apk native-run.cmd android --appplatforms \\android\\app\\build\\outputs\\apk\\debug\\app-debug.apk [native-run] 沒有找到硬件設備,正在嘗試模擬器... [native-run] Selected emulator emulator-5554 [native-run] 安裝平台\\android\\app\\build\\outputs\\apk\\debug\\app-debug.apk... [native-run] 啟動應用程序活動 com.selectsapphire.budgetlenz/com.selectsapphire.budgetlenz.MainActivity... [native-run]運行成功

對我來說是這樣的。

ionic cordova platform rm android   
ionic cordova platform add android    
npm i -g cordova-res    
ionic cordova resources android --force

我安裝了npm i -g cordova-res ,然后是ionic cordova resources android --force ,最后是ionic cordova run android並且它工作了。

即使我在模擬器上運行應用程序時也面臨同樣的問題。 在真實設備上運行時它工作正常。 正如我在幾個地方讀到的,這可能是由於設備中可用的存儲空間有限。 所以我清除了模擬器的內存,它工作正常。 以下是刪除模擬器內存​​的過程。

  1. 打開 Android Studio 並單擊 AVD 管理器。
  2. 右鍵單擊要運行應用程序的模擬器,然后單擊擦除數據。
  3. 現在通過執行命令ionic cordova run android從 Ionic 再次運行應用程序,然后一切正常。

暫無
暫無

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

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