AVD - Android Virtual Device
このコンテンツの作成に協力してくれた @offsecjay さんに感謝します。
何ですか
Android Studio は、APK をテストするために使用できる Android の仮想マシンを実行することができます。これらを使用するには、次のものが必要です:
Android SDK ツール - こちらからダウンロード。
または Android Studio(Android SDK ツール付き)- こちらからダウンロード。
Windows(私の場合)では、Android Studio をインストールした後、SDK ツールが次の場所にインストールされました: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
mac では、SDK ツールをダウンロードして、次のコマンドを実行して PATH に追加できます:
またはhttps://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-aで示されているように、Android Studio GUIからもインストールできます。これにより、~/Library/Android/sdk/cmdline-tools/latest/bin/
、~/Library/Android/sdk/platform-tools/
、~/Library/Android/sdk/emulator/
にそれらがインストールされます。
Javaの問題について:
GUI
仮想マシンの準備
Android Studioをインストールした場合、メインプロジェクトビューを開いて、Tools --> AVD Manager にアクセスできます。
次に、Create Virtual Device をクリックします。
使用したい携帯電話を選択 し、Next をクリックします。
Playストアがインストールされた携帯電話が必要な場合は、Playストアアイコンが付いたものを選択してください!
現在のビューでは、携帯電話が実行されるAndroidイメージを選択してダウンロードできます:
それを選択し、ダウンロードされていない場合は名前の横にある_Download_ シンボルをクリックします(イメージがダウンロードされるまでお待ちください)。
イメージがダウンロードされたら、Next
を選択して Finish
をクリックします。
仮想マシンが作成されます。これで、AVDマネージャにアクセスするたびに表示されます。
仮想マシンの実行
実行するには、Startボタン を押してください。
コマンドラインツール
まず、使用する携帯電話を決定する必要があります。可能な携帯電話のリストを表示するには、次のコマンドを実行します:
一度使用するデバイスの名前を決めたら、このデバイスで実行したいAndroidイメージを決定する必要があります。
sdkmanager
を使用してすべてのオプションをリストアップできます:
そして、次のコマンドを使用して、好きなものを1つダウンロードしてください:
Android イメージをダウンロードしたら、次のコマンドを使用してダウンロードしたすべての Android イメージをリスト表示できます:
この時点で使用するデバイスを決定し、Androidイメージをダウンロードしたので、次のようにして仮想マシンを作成できます:
最後のコマンドでは、デバイス "Nexus 5X" と Androidイメージ "system-images;android-28;google_apis;x86_64" を使用して、"AVD9" という名前のVMを作成しました。 これで、作成した仮想マシンの一覧を表示できます:
仮想マシンの実行
すでに作成した仮想マシンの一覧表示方法を見てきましたが、次の方法でもリストできます:
単純に作成された仮想マシンを実行できます:
または、より高度なオプションを使用して仮想マシンを実行できます:
コマンドラインオプション
しかしながら、非常に多くの異なるコマンドラインオプションがあり、仮想マシンを起動するために使用できます。以下にいくつかの興味深いオプションがありますが、こちらで完全なリストを見つけることができます
ブート
-snapshot name
: VMスナップショットを開始-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: 記録されたすべてのスナップショットをリストアップ
ネットワーク
-dns-server 192.0.2.0, 192.0.2.255
: VMに使用するDNSサーバーをコンマ区切りで指定できる-http-proxy 192.168.1.12:8080
: 使用するHTTPプロキシを指定できる(Burpを使用してトラフィックをキャプチャするのに非常に便利)-port 5556
: コンソールとadbに使用されるTCPポート番号を設定-ports 5556,5559
: コンソールとadbに使用されるTCPポートを設定-tcpdump /path/dumpfile.cap
: すべてのトラフィックをファイルにキャプチャ
システム
-selinux {disabled|permissive}
: Linuxオペレーティングシステム上でセキュリティ強化Linuxセキュリティモジュールを無効または寛大モードに設定-timezone Europe/Paris
: 仮想デバイスのタイムゾーンを設定-screen {touch(default)|multi-touch|o-touch}
: エミュレートされたタッチスクリーンモードを設定-writable-system
: このオプションを使用して、エミュレーションセッション中に書き込み可能なシステムイメージを使用します。adb root; adb remount
も実行する必要があります。これはシステムに新しい証明書をインストールするのに非常に便利です。
Playストアデバイスのルート化
Playストア付きのデバイスをダウンロードした場合、直接ルート権限を取得することはできず、次のエラーメッセージが表示されます
Burp証明書のインストール
カスタムCA証明書のインストール方法については、次のページを確認してください:
pageInstall Burp Certificate便利なAVDオプション
スナップショットを取る
いつでもVMのスナップショットを取るには、GUIを使用できます:
Last updated