Fails to parse ADB output because of \r

Đang mở
#229 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

@aizensoosuke đang làm issue này rồi.

Từ ngày 29/7/2024.

  • #391 của @aizensoosuke — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
android, typescript
Lĩnh vực
mobile-dev

Hướng nghiên cứu

Bắt đầu trong src/android/utils/adb.ts, khoảng các dòng 362-366, và tái hiện sự cố với adb devices trên WSL, trong đó các dòng đầu ra chứa ký tự xuống dòng về đầu (carriage return). Theo dõi cách các dòng đó được phân tích và xác minh rằng thiết bị đã kết nối được nhận diện thay vì bị báo là không khả dụng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

android

Version:
1.4.0

Description:
Trying to run yarn ionic cordova run android --livereload --device leads to the error below. I'm running the command on WSL, adb and yarn are installed on WSL.

$ which yarn && which adb
/usr/bin/yarn
/opt/android/platform-tools/adb

Command Output:
Command ran :
yarn native-run android --app platforms/android/app/build/outputs/apk/debug/app-debug.apk --device --forward 8100:8100 --verbose

Output :

yarn run v1.22.18
$ /path-to-project/node_modules/.bin/native-run android --app platforms/android/app/build/outputs/apk/debug/app-debug.apk --device --forward 8100:8100 --verbose
  native-run:android:utils:sdk:resolveSDKRoot Looking for $ANDROID_HOME +0ms
  native-run:android:utils:sdk:resolveSDKRoot Using $ANDROID_HOME at /opt/android +3ms
  native-run:android:utils:sdk:resolveEmulatorHome Looking for $ANDROID_EMULATOR_HOME +0ms
  native-run:android:utils:sdk:resolveEmulatorHome Looking at $HOME/.android +0ms
  native-run:android:utils:sdk:resolveEmulatorHome Using $HOME/.android/ at /home/mbenoukaiss/.android +1ms
  native-run:android:utils:sdk:resolveAVDHome Looking for $ANDROID_AVD_HOME +0ms
  native-run:android:utils:sdk:resolveAVDHome Looking at $HOME/.android/avd +0ms
  native-run:android:utils:sdk:resolveAVDHome Using $HOME/.android/avd/ at /home/mbenoukaiss/.android/avd +1ms
  native-run:android:utils:adb:getDevices Invoking adb with args: [ 'devices', '-l' ] +0ms
  native-run:android:utils:sdk:getSDKPackage Parsing /opt/android/platform-tools/package.xml +0ms
  native-run:android:utils:adb:parseAdbDevices Parsing adb devices from output lines: [
  native-run:android:utils:adb:parseAdbDevices   'List of devices attached\r',
  native-run:android:utils:adb:parseAdbDevices   '22005523027480         device product:TC21MG model:TC21 device:TC21 transport_id:1\r',
  native-run:android:utils:adb:parseAdbDevices   '\r',
  native-run:android:utils:adb:parseAdbDevices   ''
  native-run:android:utils:adb:parseAdbDevices ] +0ms
  native-run:android:utils:adb:parseAdbDevices adb devices output line does not match expected regex: '22005523027480         device product:TC21MG model:TC21 device:TC21 transport_id:1\r' +0ms
  native-run:android:utils:adb:parseAdbDevices adb devices output line does not match expected regex: '\r' +0ms
  native-run:android:utils:adb:getDevices Found adb devices: [] +82ms
  native-run:android:utils:avd:getAVDINIs Discovered AVD ini files: [
  native-run:android:utils:avd:getAVDINIs   '/home/mbenoukaiss/.android/avd/Pixel_3_API_30.ini',
  native-run:android:utils:avd:getAVDINIs   '/home/mbenoukaiss/.android/avd/Pixel_3_API_31.ini'
  native-run:android:utils:avd:getAVDINIs ] +0ms
  native-run Caught fatal error: AndroidRunException [Error]: No hardware devices found. Not attempting emulator because --device was specified.
  native-run     at selectDevice (/path-to-project/node_modules/native-run/dist/android/run.js:83:19)
  native-run     at async Object.run (/path-to-project/node_modules/native-run/dist/android/run.js:32:20)
  native-run     at async Object.run (/path-to-project/node_modules/native-run/dist/android/index.js:19:5)
  native-run     at async Object.run (/path-to-project/node_modules/native-run/dist/index.js:20:13) {
  native-run   code: 'ERR_NO_DEVICE',
  native-run   exitCode: 1,
  native-run   data: undefined
  native-run } +0ms
ERR_NO_DEVICE: No hardware devices found. Not attempting emulator because --device was specified.

        More details for this error may be available online:

        https://github.com/ionic-team/native-run/wiki/Android-Errors
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Adding/changing the lines from 232 to 235 in the file adb.js in the screenshot below fixes the problem, idk if it's the best way to fix it though :
image

Link to the concerned line in the project : https://github.com/ionic-team/native-run/blob/develop/src/android/utils/adb.ts#L362:L366

SDK Info:

SDK Location:         /opt/android
AVD Home:             /home/mbenoukaiss/.android/avd

API Level:            31
Packages:             Android SDK Platform 31  platforms;android-31  1
                      Intel x86 Atom_64 System Image  system-images;android-31;default;x86_64  3


API Level:            30
Packages:             Android SDK Platform 30  platforms;android-30  3
                      Google Play Intel x86 Atom System Image  system-images;android-30;google_apis_playstore;x86  9


API Level:            29
Packages:             Android SDK Platform 29  platforms;android-29  5
                      Google Play Intel x86 Atom System Image  system-images;android-29;google_apis_playstore;x86  8


Tools:

Android Emulator  emulator  31.2.9
Android SDK Build-Tools 30.0.3  build-tools;30.0.3  30.0.3
Android SDK Platform-Tools  platform-tools  33.0.1
Android SDK Tools  tools  26.1.1
SDK Patch Applier v4  patcher;v4  1
Ngôn ngữ chính
TypeScript
Star
141
Fork
35
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ionic-team/native-run

Tất cả issue của ionic-team/native-run

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.