SDKToolsだけでコマンドラインからエミュレータを設定 起動

SDKToolsだけでコマンドラインからエミュレータを設定

エミュレータだけ使いたかったのでAndroid StudioのサイトからCommand line toolsだけダウンロードしてコマンドラインからエミュレータの起動を試みた内容をまとめます。
webアプリの表示を実機で確認できないのでエミュレータを使おうという話です。
Androidアプリの開発は皆無なので一部適当な記述があることをご了承ください。

# 環境
## JDKのインストールが必要
JDKが必要なのでインストールしてください
環境変数「JAVA_HOME」の設定も合わせて行います。
ここでは説明は割愛します。


# 構成
## 初期の構成
Android Studio のダウンロードページにCommand line toolsだけダウンロードできるリンクがあるのでそこから落としてきます。あとは適当な場所で「sdk」フォルダを作ってダウンロードした「tools」を入れます。

     - 任意のSDKフォルダ
        ┗  sdk
           ┗  tools (sdkmanager, avdmanagerがはいってます)

# 必要なパッケージのインストール
## 設定後の構成
     - 任意のSDKフォルダ
        ┗  sdk
           ┣  tools (sdkmanager, avdmanagerがはいってます)
           ┣  platform (これ入れないとSDKとして扱われなかったのでいれてます)
           ┣  system-images (sdkmanagerでシステムイメージをインストールすると勝手にできます)
           ┣  licenses (インストールしているうちに気づいたらできてます)
           ┣  extras (Haxmとかリポジトリとかが入ります)
           ┣  emulator (エミュレートに必要なプログラムが入ってます)
           ┗  build-tools (いらないかも)

# 環境変数の設定
## Windows
システム環境設定を開いて環境変数に下記追加してください
※追加方法は別途ご確認ください

	ANDROID_HOME = \PATH\TO\HOME_DIR\任意のSDKフォルダ
	ANDROID_SDK_ROOT = %ANDROID_HOME%\sdk
	PATH に追加 ⇒ %ANDROID_SDK_ROOT%\tools\bin
	PATH に追加 ⇒ %ANDROID_SDK_ROOT%\emulator


## Mac
~/.bash_profile等 に追記してください
※追加方法は別途ご確認ください

    export ANDROID_HOME=/PATH/TO/HOME_DIR/任意のSDKフォルダ;
    export ANDROID_SDK_ROOT=$ANDROID_HOME/sdk;
    export PATH=$ANDROID_SDK_ROOT/tools/bin:$PATH;
    export PATH=&quot;$ANDROID_SDK_ROOT/emulator:$PATH;

## コマンドの動作確認
下記コマンドを入力してヘルプ等が出力されるかご確認ください
※command not found がでなければokです

* sdkmanager
* avdmanager
* abd

※GitBash利用の場合は後ろに .bat をつけてください
例） sdkmanager.bat

# パッケージのインストール
sdkmanagerコマンドから必要なパッケージをインストールします

## インストールのコマンド
    sdkmanager "パッケージID";

## パッケージ確認のコマンド
    sdkmanager --list
    
--verbose オプションをつけると省略されずに表示できます

    sdkmanager --list --verbose

## インストール候補一覧
今回インストールする例として下記まとめていきます。
注)
※ Intel x86 Atom System Image 系はHAXAMの利用ができない場合は使えないので今回はパス
※ HAXMが使える場合
※ ・CPUが Virtualization Technology(VT-x)に対応している
※ ・インストールが可能
※ ・BIOSの設定が可能

### emulator
    emulator
        Description:        Android Emulator
        Version:            27.0.2
        Dependencies:
            patcher;v4
            tools Revision 25.3

### patcher
emulatorのDependenciesに記載があるのでいれてます

	patcher;v4
    	Description:        SDK Patch Applier v4
    	Version:            1
    	         
### platforms
これいれないとemulatorコマンドがうまく動きませんでした

	platforms;android-9
    	Description:        Android SDK Platform 9
    	Version:            2

### platform-tools
    platform-tools
        Description:        Android SDK Platform-Tools
        Version:            27.0.1



### extras
入れた記憶はないが入っていた

	extras;intel;Hardware_Accelerated_Execution_Manager
    	Description:        Intel x86 Emulator Accelerator (HAXM installer)
    	Version:            6.2.1


           extras;intel;Hardware_Accelerated_Execution_Manager Revision 6.2.1



### System-images
いろいろ試すためにこんなに入れてしまった；
必要なバージョンだけで問題ありません

    system-images;android-16;default;mips
        Description:        MIPS System Image
        Version:            1
    
    system-images;android-17;default;mips
        Description:        MIPS System Image
        Version:            1
    
    system-images;android-22;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            2
        Dependencies:
            patcher;v4
    
    system-images;android-14;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            2
    
    system-images;android-10;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            4
    
    system-images;android-15;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            4
        Dependencies:
            patcher;v4
    
    system-images;android-16;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            4
    
    system-images;android-18;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            4
        Dependencies:
            patcher;v4
    
    system-images;android-21;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            4
        Dependencies:
            patcher;v4
    
    system-images;android-19;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            5
        Dependencies:
            patcher;v4
    
    system-images;android-17;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            5
        Dependencies:
            patcher;v4
    
    system-images;android-24;default;arm64-v8a
        Description:        ARM 64 v8a System Image
        Version:            7
    
    system-images;android-24;default;armeabi-v7a
        Description:        ARM EABI v7a System Image
        Version:            7
        Dependencies:
            patcher;v4


## 再現するデバイスを確認する
下記のコマンドを実行する

    avdmanager list

## AVDを作成する
下記のコマンドを実行する

    avdmanager create avd -n 任意の名前 -k "ダウンロードしたシステムイメージのID&quot; --device &quot;再現するデバイス"

## 作成したエミュレータを実行する
下記コマンドを実行する

    emulator @設定した任意の名前

## ローカルホストにアクセスする
エミュレータ上で下記アクセスする

    10.0.2.2

### sample create device command

    avdmanager create avd -f -n hoge2  -k "system-images;android-21;default;armeabi-v7a" -d 6
    avdmanager create avd -f -n hoge3  -k "system-images;android-21;default;armeabi-v7a" -d 7
    avdmanager create avd -f -n hoge4  -k "system-images;android-21;default;armeabi-v7a" -d 8
    avdmanager create avd -f -n hoge5  -k "system-images;android-21;default;armeabi-v7a" -d 9
    avdmanager create avd -f -n hoge6  -k "system-images;android-21;default;armeabi-v7a" -d 10
    avdmanager create avd -f -n hoge7  -k "system-images;android-21;default;armeabi-v7a" -d 11
    avdmanager create avd -f -n hoge8  -k "system-images;android-21;default;armeabi-v7a" -d 12
    avdmanager create avd -f -n hoge9  -k "system-images;android-21;default;armeabi-v7a" -d 13
    avdmanager create avd -f -n hoge10 -k "system-images;android-21;default;armeabi-v7a" -d 14
    avdmanager create avd -f -n hoge11 -k "system-images;android-21;default;armeabi-v7a" -d 15
    avdmanager create avd -f -n hoge12 -k "system-images;android-21;default;armeabi-v7a" -d 16
    avdmanager create avd -f -n hoge13 -k "system-images;android-21;default;armeabi-v7a" -d 17
    avdmanager create avd -f -n hoge14 -k "system-images;android-21;default;armeabi-v7a" -d 18
    avdmanager create avd -f -n hoge15 -k "system-images;android-21;default;armeabi-v7a" -d 19
    avdmanager create avd -f -n hoge16 -k "system-images;android-21;default;armeabi-v7a" -d 20
    avdmanager create avd -f -n hoge17 -k "system-images;android-21;default;armeabi-v7a" -d 21
    avdmanager create avd -f -n hoge18 -k "system-images;android-21;default;armeabi-v7a" -d 22
    avdmanager create avd -f -n hoge19 -k "system-images;android-21;default;armeabi-v7a" -d 23
    avdmanager create avd -f -n hoge20 -k "system-images;android-21;default;armeabi-v7a" -d 24
    avdmanager create avd -f -n hoge21 -k "system-images;android-21;default;armeabi-v7a" -d 25
    avdmanager create avd -f -n hoge22 -k "system-images;android-21;default;armeabi-v7a" -d 26
    avdmanager create avd -f -n hoge23 -k "system-images;android-21;default;armeabi-v7a" -d 27
    avdmanager create avd -f -n hoge24 -k "system-images;android-21;default;armeabi-v7a" -d 28
    avdmanager create avd -f -n hoge25 -k "system-images;android-21;default;armeabi-v7a" -d 29
    avdmanager create avd -f -n hoge26 -k "system-images;android-21;default;armeabi-v7a" -d 30
    avdmanager create avd -f -n hoge27 -k "system-images;android-21;default;armeabi-v7a" -d 31
    avdmanager create avd -f -n hoge28 -k "system-images;android-21;default;armeabi-v7a" -d 32
    avdmanager create avd -f -n hoge29 -k "system-images;android-21;default;armeabi-v7a" -d 33
    avdmanager create avd -f -n hoge30 -k "system-images;android-21;default;armeabi-v7a" -d 34

### sample emulator command

    emulator @hoge2  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge3  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge4  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge5  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge6  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge7  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge8  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge9  -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge10 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge11 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge12 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge13 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge14 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge15 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge16 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge17 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge18 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge19 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge20 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge21 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge22 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge23 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge24 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge25 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge26 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge27 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge28 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge29 -skin 600x1024 -no-boot-anim -fixed-scale
    emulator @hoge30 -skin 600x1024 -no-boot-anim -fixed-scale