avdmanager createで「Error: Package path is not valid. Valid system image paths are:ository...」の解決方法

# 内容
NativeScriptのSetup Android Emulators[Setup Android Emulators](https://docs.nativescript.org/tooling/android-virtual-devices)に沿ってAndoroidエミュレーターの作成をしたところ、エラーとなった。

```
>avdmanager create avd -n test -k "system-images;android-25;google_apis;x86"
Error: Package path is not valid. Valid system image paths are:ository...
null
```

結論としては、「-k」で指定した`"system-images;android-25;google_apis;x86"`をsdkmanagerでインストールすれば解決した。

このエラーの解消にあたって確認したことと、解消方法を記載。

# 確認したこと
### ①avdmanagerのマニュアル確認

Android Studioユーザーガイド > avdmanager
https://developer.android.com/studio/command-line/avdmanager?hl=ja

> create avd -n name -k "sdk_id"
> 引用符で囲んだ sdk_id を使用して、AVD に使用する SDK パッケージの ID を指定します。

エラーメッセージの`Package path is not valid.`とマニュアルの`SDK パッケージの ID`に関連があるのではないかと推測。

### ②sdkmanagerのマニュアル確認

Android Studioユーザーガイド > sdkmanager
https://developer.android.com/studio/command-line/sdkmanager?hl=ja

> インストール済みで利用可能なパッケージのリストを表示する
>    sdkmanager --list [options]

`avd create`で指定したSDKのパッケージが`利用可能なパッケージ`ではないのではないかと推測。

### ③sdkmanager --listの実行

以下の内容が出力。大量の「Available Packages」の中に`avdmanager create`で指定した`system-images;android-25;google_apis;x86`を確認。

よくよく確認すると「installed packages」の中にはない。

```
>sdkmanager --list
Installed packages:=====================] 100% Computing updates...
  Path                        | Version | Description                    | Location
  -------                     | ------- | -------                        | -------
  build-tools;28.0.3          | 28.0.3  | Android SDK Build-Tools 28.0.3 | build-tools\28.0.3\
  emulator                    | 30.0.0  | Android Emulator               | emulator\
  extras;android;m2repository | 47.0.0  | Android Support Repository     | extras\android\m2repository\
  extras;google;m2repository  | 58      | Google Repository              | extras\google\m2repository\
  patcher;v4                  | 1       | SDK Patch Applier v4           | patcher\v4\
  platform-tools              | 29.0.6  | Android SDK Platform-Tools     | platform-tools\
  platforms;android-28        | 6       | Android SDK Platform 28        | platforms\android-28\
  tools                       | 26.1.1  | Android SDK Tools 26.1.1       | tools\

Available Packages:
  Path                                        | Version| Description
  -------                                     | -------| -------
  add-ons;addon-google_apis-google-15         | 3      | Google APIs
  add-ons;addon-google_apis-google-16         | 4      | Google APIs
   :                                            :
  system-images;android-25;google_apis;x86    | 16     | Google APIs Intel x86 Atom System Image     ★avd createで指定したパッケージ
  system-images;android-25;google_apis;x86_64 | 16     | Google APIs Intel x86 Atom_64 System Image
    :                                           :
  system-images;android-R;google_apis;x86_64  | 1      | Google APIs Intel x86 Atom_64 System Image
    :
```

### ④sdkmanagerでパッケージをインストール

②と同じsdkmanagerのマニュアルにインストール方法が記載。

> パッケージをインストールする
>    sdkmanager packages [options]

```
>sdkmanager "system-images;android-25;google_apis;x86"
[=======================================] 100% Unzipping... x86/source.propertie
```

### ⑤avdmanager createを再実行

エラーにならず、正常終了。

```
>avdmanager create avd -n test -k "system-images;android-25;google_apis;x86"
Auto-selecting single ABI x86===========] 100% Fetch remote repository...
Do you wish to create a custom hardware profile? [no]
>
```

### ⑥sdkmanager --listの再実行

「Installed packages」に`system-images;android-25;google_apis;x86`が増えている。
これより、`avdmanager create`する際には、事前にsdkmanagerでパッケージのインストールが必要だと分かった。

```
>sdkmanager --list
Installed packages:=====================] 100% Computing updates...
  Path                                     | Version | Description                             | Location
  -------                                  | ------- | -------                                 | -------
  build-tools;28.0.3                       | 28.0.3  | Android SDK Build-Tools 28.0.3          | build-tools\28.0.3\
  emulator                                 | 30.0.0  | Android Emulator                        | emulator\
  extras;android;m2repository              | 47.0.0  | Android Support Repository              | extras\android\m2repository\
  extras;google;m2repository               | 58      | Google Repository                       | extras\google\m2repository\
  patcher;v4                               | 1       | SDK Patch Applier v4                    | patcher\v4\
  platform-tools                           | 29.0.6  | Android SDK Platform-Tools              | platform-tools\
  platforms;android-28                     | 6       | Android SDK Platform 28                 | platforms\android-28\
  system-images;android-25;google_apis;x86 | 16      | Google APIs Intel x86 Atom System Image | system-images\android-25\google_apis\x86\
  ＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾
  tools                                    | 26.1.1  | Android SDK Tools 26.1.1                | tools\

Available Packages:
  Path                                             | Version | Description
  -------                                          | ------- | -------
  add-ons;addon-google_apis-google-15              | 3       | Google APIs
  add-ons;addon-google_apis-google-16              | 4       | Google APIs
```

### ⑦avdmanager list avdの実行

作成したavdが表示されることを確認。

```
> avdmanager list avd
Available Android Virtual Devices:
    Name: test
    Path: C:\Users\xxxx\.android\avd\test.avd
  Target: Google APIs (Google Inc.)
          Based on: Android 7.1.1 (Nougat) Tag/ABI: google_apis/x86
```

# 参考ページ
StackOverflow「How to set system images (path?) when creating an Android AVD?」
https://stackoverflow.com/questions/43275238/how-to-set-system-images-path-when-creating-an-android-avd