native-run doesn't walk symlinks in SDK packages, thus cannot detect API levels
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 52/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- typescript
- 領域
- cli
調査の方向性
src/android/utils/sdk/index.ts から始め、特に findAllSDKPackages で使用されている readdirp ベースの走査を確認します。SDK スキャンが platforms、sources、system-images などのシンボリックリンクされたディレクトリをどのように処理するかを確認し、その後 Android Studio 形式の SDK に対して native-run android --sdk-info を実行します。空のリストを報告するのではなく、インストール済みの API レベルが検出されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Version:
1.7.2
Description:
Native-run can't find the installed API levels in my SDK when it is perfectly fine in Android studio.
And as a bonus, I dig through the source code, turns out it is walking through every folders and find package.xml to find api-level string in them
https://github.com/ionic-team/native-run/blob/88a49944427f1bd4a33e6f53d511f9c49330ebe6/src/android/utils/sdk/index.ts
In here, it uses readdirp to list directories to walk through, but the walk is missing folders such as platforms, sources, system-images and those folders are all symlinked (due to how android studio does things).
This is very annoying, definitely a bug.
Command Output:
native-run:android:utils:sdk:resolveSDKRoot Looking for $ANDROID_HOME +0ms
native-run:android:utils:sdk:resolveSDKRoot Looking for $ANDROID_SDK_ROOT +2ms
native-run:android:utils:sdk:resolveSDKRoot Using $ANDROID_SDK_ROOT at /usr/local/Cellar/android-sdk/24 +2ms
native-run:android:utils:sdk:resolveEmulatorHome Looking for $ANDROID_EMULATOR_HOME +0ms
native-run:android:utils:sdk:resolveEmulatorHome Looking at $HOME/.android +1ms
native-run:android:utils:sdk:resolveEmulatorHome Using $HOME/.android/ at /Users/penn/.android +0ms
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 /Users/penn/.android/avd +1ms
native-run:android:utils:sdk:findAllSDKPackages Walking /usr/local/Cellar/android-sdk/24 to discover SDK packages +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/emulator/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/platform-tools/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/tools/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/build-tools/30.0.2/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/build-tools/34.0.0-rc3/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/cmdline-tools/latest/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/patcher/v4/package.xml +0ms
native-run:android:utils:sdk:api:getAPILevels Discovered installed API Levels: [] +0ms
SDK Location: /usr/local/Cellar/android-sdk/24
AVD Home: /Users/pencilcheck/.android/avd
Tools:
Android Emulator emulator 32.1.12
Android SDK Build-Tools 30.0.2 build-tools;30.0.2 30.0.2
Android SDK Build-Tools 34-rc3 build-tools;34.0.0-rc3 34.0.0
Android SDK Command-line Tools (latest) cmdline-tools;latest 9.0
Android SDK Platform-Tools platform-tools 34.0.1
Android SDK Tools tools 26.1.1
SDK Patch Applier v4 patcher;v4 1
SDK Info:
native-run:android:utils:sdk:resolveSDKRoot Looking for $ANDROID_HOME +0ms
native-run:android:utils:sdk:resolveSDKRoot Looking for $ANDROID_SDK_ROOT +2ms
native-run:android:utils:sdk:resolveSDKRoot Using $ANDROID_SDK_ROOT at /usr/local/Cellar/android-sdk/24 +2ms
native-run:android:utils:sdk:resolveEmulatorHome Looking for $ANDROID_EMULATOR_HOME +0ms
native-run:android:utils:sdk:resolveEmulatorHome Looking at $HOME/.android +1ms
native-run:android:utils:sdk:resolveEmulatorHome Using $HOME/.android/ at /Users/penn/.android +0ms
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 /Users/penn/.android/avd +1ms
native-run:android:utils:sdk:findAllSDKPackages Walking /usr/local/Cellar/android-sdk/24 to discover SDK packages +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/emulator/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/platform-tools/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/tools/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/build-tools/30.0.2/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/build-tools/34.0.0-rc3/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/cmdline-tools/latest/package.xml +0ms
native-run:android:utils:sdk:getSDKPackage Parsing /usr/local/Cellar/android-sdk/24/patcher/v4/package.xml +0ms
native-run:android:utils:sdk:api:getAPILevels Discovered installed API Levels: [] +0ms
SDK Location: /usr/local/Cellar/android-sdk/24
AVD Home: /Users/pencilcheck/.android/avd
Tools:
Android Emulator emulator 32.1.12
Android SDK Build-Tools 30.0.2 build-tools;30.0.2 30.0.2
Android SDK Build-Tools 34-rc3 build-tools;34.0.0-rc3 34.0.0
Android SDK Command-line Tools (latest) cmdline-tools;latest 9.0
Android SDK Platform-Tools platform-tools 34.0.1
Android SDK Tools tools 26.1.1
SDK Patch Applier v4 patcher;v4 1
- 主要言語
- TypeScript
- スター
- 139
- フォーク
- 35
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ionic-team/native-run のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
ionic-team/native-run#409 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 66/100
ionic-team/native-run#410 · コメント 1 件 ·
-
tools not found?オープンandroid
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
ionic-team/native-run#395 ·
-
android
難易度 3/5 1〜2日 初心者へのやさしさ 28/100
ionic-team/native-run#390 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
ionic-team/native-run#389 ·
ionic-team/native-run の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 83/100
メンテナーはふだん 1 日以内に返信
-
🔊 a11y
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
betagouv/mon-entreprise#4726 ·
メンテナーはふだん 9 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Deltares/fews-pi-requests#357 ·
メンテナーはふだん 1 日以内に返信
-
bug confirmed js v6
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信