コマンドラインからAndroidエミュレーターを起動するにはどうすればよいですか?


373

私はMacで、ターミナルからAndroid開発に取り組んでいます。HelloWorldプロジェクトの作成に成功しました。現在、Androidエミュレーターのコマンドラインから実行しようとしています。HelloWorldプロジェクトのエミュレーターを実行するコマンドはどれですか?

私はすでにPATHにAndroidツールとプラットフォームツールを持っています。

編集:

コマンドラインからHelloWorldプロジェクトを実行するようにエミュレーターに指示するにはどうすればよいですか?私はすでにアリでプロジェクトを構築しました。


関連ドキュメント:で作成しavdmanager、で起動しemulatorます。
jchook

回答:


380

私はあなたがプロジェクトをビルドし、それを起動する必要があるだけだと思いますが、AVDを作成しておらず、すべてのアクションにコマンドラインを使用する必要があります。次のことを行う必要があります。

  1. 必要なプラットフォーム用の新しい仮想デバイス(AVD)を作成します。AVDの作成にコマンドラインを使用する必要がある場合android create avd -n <name> -t <targetID>は、targetIDが必要なAPIレベルである場所を呼び出すことができます。GUIを使用できる場合は、入力するだけでandroid avdマネージャーが起動し、同じことができます。GUIコマンドラインを使用AVD管理の詳細を読むことができます。
  2. コマンドを使用するemulator -avd <name>か、以前に起動したGUI を使用してAVDを実行します。エミュレータが完全に読み込まれるまでしばらく時間がかかります。その他のオプションについては、こちらをご覧ください
  3. 次に、アプリケーションをAVDにインストールする必要があります。通常、開発時には、プロジェクトのビルドに使用したものと同じAntスクリプトを使用し、installターゲットを選択するだけです。ただし、コマンドを使用して手動でアプリケーションをインストールできますadb install <path-to-your-APK>
  4. エミュレータに切り替えて、ランチャーを介して通常のデバイスと同じようにアプリケーションを起動します。または、次のコマンドを使用することもできますadb shell am start -a android.intent.action.MAIN -n <package>/<activity class>。次に例を示しますadb shell am start -a android.intent.action.MAIN -n org.sample.helloworld/org.sample.helloworld.HelloWorld。コメンターが示唆したように、org.sample.helloworld.HelloWorld上記の行をjust .HelloWorldに置き換えることもできます。これも機能します。

1
あなたの4ポイントリストは私が探しているものです。走るadb install <path-to-your-APK>とゲットしerror: device not foundます。あるシェルでエミュレータを実行し、別のシェルでadb installコマンドを実行すると、が表示されますerror: device offline。エミュレートされた仮想デバイスを設定するにはどうすればよいですか?
Thierry Lam、

3
はい、以前のバージョンの回答から情報を取り戻しました。:)デバイスがオフラインであるというメッセージが表示された場合、システムをロードできていないようです。Androidのロゴが表示されているときにエミュレータにコマンドを送信しようとしても意味がありません。ロック画面が表示されるまで待つ必要があります。そして、あなたはあなたのデバイスにコマンドを送るために別のシェルインスタンスを使わなければならないのは正しいです。ちなみに、adb devicesコマンドでデバイスの現在の状態を確認できます。
マルコム

1
@ThomasWおかげで、この情報を回答に追加しました。
Malcolm

1
@ L2Gこれをスクリプトとして実行すれば、そうです。私が答えを書いたとき、私はあなたがすべてを手で行うと仮定しました、その場合、もちろん、あなたはあなた自身を待つことができます。
マルコム

4
adb kill-server; adb start-server何も表示されない場合はadb-serverを再起動しますadb devices
evandrix

278

すべてのエミュレーターをリストします。

emulator -list-avds

リストされたエミュレーターの1つを-avdフラグ付きで実行します。

emulator -avd @name-of-your-emulator

どこにemulatorある:

${ANDROID_SDK}/tools/emulator

2
Linuxターミナルから実行する場合はcd、$ ANDROID_SDK / toolsフォルダーに移動する必要があります。そうしないと機能しません。
shimatai 2017年

4
ありがとう!emulator頻繁に使用する場合は、エイリアスを作成しないでください。nano ~/.bashrc>追加alias emulator='$ANDROID_HOME/tools/emulator'、保存し. ~/bashrcて完了です。(ANDROID_HOME正しい変数を使用するか、androidフォルダーへの静的パスで置き換えます)。
Samuel Elh、2017年

3
次のエラーが発生した場合:ERROR:./ android / qt / qt_setup.cpp:28:Qtライブラリが../emulator/lib64/qt/libで見つかりません。$ ANDROID_HOME / toolsからエミュレーターを起動することで回避できます。github.com/decosoftware/deco-ide/issues/289
tebanep

本当にtoolsフォルダに移動しないと、実際には機能しません。エラーがありますPANIC: Missing emulator engine program for 'x86' CPU.。(私は、Linux上でopenSUSEのだ。)私はに移動した後tools、その後、ちょうど走ったemulator -avd "{name}"-それは働きました。
pesho hristov

100

私はターミナルを介してそれに到達する最良の方法は次のとおりだと思います:

cd ~/Library/Android/sdk/tools

特定のAVDを直接実行するには:

./emulator -avd {AVD_NAME}

AVDを一覧表示するには、次を使用します。

./emulator -list-avds

Windowsのパスは何ですか?
qwertzguy 2017年

9
ああ見つけた:C:\ Users \ <user> \ AppData \ Local \ Android \ sdk \ emulator
qwertzguy

1
thx-私のために働いたのは1つだけですが、とにかくそれをur pathまたはsmth bcに追加するたびにそこにcdするのはちょっと面倒です
John D

@JohnDの発言- コマンドの./一部としてemulatorパス/エイリアスにどのように含めますか?
DaveNOTDavid

Linuxでのパスはです~/Android/Sdk/emulator
タイラーコリアー

26

ここに追加するだけですが、「エラー:デバイスがオフラインです」と表示される場合は常に、エミュレーターの起動にかかる時間が原因で、エミュレーターとadbブリッジとの接続が切断されています。

この時点でエミュレータを再起動するのではなく、adbブリッジを停止および再開する2つのコマンドを試してください。

adb kill-server

adb start-server


Windowsでは、タスクマネージャを使用してadb.exeタスクを強制終了する必要がある場合もあります。
Carl

25

ここでは、コマンドラインからこのコマンドを実行するためのオプションを確認できます。

emulator -avd avd_name [-option [value]] ... [-qemu args]

たとえば、以下のように使用します。

emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0

こんにちはドイツ語、私は同じ問題を抱えています。「有効なABI:ABIがありません。エラー:選択したターゲットの--abi x86が無効です。」というメッセージが表示されます。どのように問題を修正しましたか?
Muneer Muhammed

15

CMDを開く

  1. コマンドプロンプトを開く
  2. 私の場合はエミュレータのパスを入力してください

C:\ adt-bundle-windows-x86_64-20140702 \ sdk \ tools ここに画像の説明を入力してください

  1. 私の場合は「emulator -avd emulatorname」と書いてください

エミュレータ-avd AdilVD

ここに画像の説明を入力してください


13

厳密にコマンドラインからエミュレータを実行しようとしている場合は、OSXでこれを試してください。

"/Applications/Android Studio.app/sdk/tools/emulator" -avd <NAMEOFDEVICE> -netspeed full -netdelay none

.bash_profileにエイリアスを追加し、それをバックグラウンドジョブに送信することで、これを簡略化できます。

alias android='/Applications/Android\ Studio.app/sdk/tools/emulator <NAMEOFDEVICE> -netspeed full -netdelay none &'

変更についてBashに知らせます。

source ~/.bash_profile

zsh:そのようなファイルまたはディレクトリはありません:NAMEOFDEVICE
Ben Sinclair

2
@Andy NAMEOFDEVICEは、エミュレータの実際の名前に置き換えることになっています。a emulator -list-avdsを実行して、システムにあるavdのリストを取得します。
nabn

9

コマンドプロンプトを開き、 <android-Home>\sdk\tools>emulator -avd <AVD_NAME>

これ"emulator"は、Android仮想デバイスを開くために使用するコマンドです。


9

Git Bashを使用している場合は、ダブルクリックでエミュレーターを開くことができます。初期設定をいくつか行います(Windows 10でのみテスト済み)

  1. Git Bashを開きます。
  2. 走る cd ~/AppData/Local/Android/sdk/emulator
  3. 実行./emulator -list-avdsして、エミュレーターの名前を書き留めます。MY_EMULATOR例えば。
  4. メモ帳を開き、次の2行を追加します(の代わりにエミュレーターの名前を挿入しますMY_EMULATOR)。

    cd ~/AppData/Local/Android/sdk/emulator; ./emulator -avd MY_EMULATOR

  5. ファイルをmyfileとして便利な場所に保存します。sh。「myfile」は自分に合わせて変更できますが、拡張子.shが必要です。

  6. myfile.shを保存したディレクトリでGit Bashを開き、を実行しchmod +x myfile.shます。myfileの代わりにファイル名を忘れずに入れてください。

以上です!これからは、エミュレータを起動する必要があるたびにmyfile.shを見つけてダブルクリックし、Androidエミュレータが起動するのを待ちます。


5

(Linux)端末でコピー&ペーストして、青色の3つのフィールドを変更します

/home/YouUser/Folder/adt-bundle-linux-x86_64-20140702/sdk/tools/emulator64-x86 -avd Android5.1.1

YouUser = user of session in linux
Folder = path of folfer
Android5.1.1 = You version of android in the emulator,for example (Android4.4.2)

あなたはあなたのフォルダにあるエミュレータを見ることができますホームcd /home/Youuser/.android/avd/


5

このandroid create avdコマンドは廃止されました。avdmanagerコマンドラインからエミュレータを起動する代わりにを使用することをお勧めします。

最初に、エミュレーターがまだ存在しない場合は作成します。

avdmanager create avd --name "MyEmulator" -k "system-images;android-
26;google_apis;x86"

これは、API 26に一致するX86システムイメージがすでにインストールされており、Google APIがインストールされていることを前提としています。

その後、を使用してエミュレータを起動できますemulator @MyEmulator


4

私の場合、Android Studio(2.2)がインストールされていて、エミュレーターが1つしかない場合、この1つのライナーを使用するとします。

export ANDROID_SDK_ROOT=~/Library/Android/sdk/ && emulator '@'`emulator -list-avds`

これを頻繁に行う場合は、それを簡単にします。

$ echo 'export ANDROID_SDK_ROOT=~/Library/Android/sdk/' >> ~/.profile

エイリアスを追加 ~.aliases

alias androidup="emulator '@'`emulator -list-avds`" 

source ~/.profile ~/.aliasesテストする前にリコールしてください

次回だけ $ androidup


3

利用可能なAV名のリスト

.android / avd

/ SDK_PATH / tools / emulator -netdelay none -n​​etspeed full -avd "AVD_NAME"


3

Windowsでは、このPowerShellスクリプトを使用して起動します。

$em = $env:USERPROFILE+"\AppData\Local\Android\sdk\tools\emulator.exe"; 
Start-Process $em " -avd Nexus_5X_API_24" -WindowStyle Hidden;

3
  1. CMDを開く
  2. すべてのエミュレータリストを取得するには(C:\ Users \ DJango \ AppData \ Local \ Android \ sdk \ emulator> emulator -list-avds)
  3. エミュレータを選択します(C:\ Users \ DJango \ AppData \ Local \ Android \ sdk \ emulator> emulator -avd Pixel_2_API_28)

1

Mac(およびLinuxだと思います)では、AVDを作成した後、エイリアスを作成できます。 alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'

:エイリアスを実行しても端末はロックされません。必要に応じて、最後の'&'を削除してください。

emulator自分で実行するとエラーが発生します。現在の位置では/emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'、エミュレータを起動する必要があるためです。


1

実行するavdを選択できるZenityを使用して、この単純なシェルスクリプトを作成しました。ANDROID_HOMEを定義していない場合は、それをエミュレータへの完全パスで置き換えることができます。これはZenityの代わりにselectを使用しても簡単に実行できますが、xfce-applicationメニュー(.desktop-fileを使用)から実行しているため、Zenityを選択しました。

#!/bin/sh

opt=$(zenity --title="Choose AVD" --text="Choose which emulator to start" --list \
                   --column="Devices" --separator="\n" `$ANDROID_HOME/emulator/emulator -list-avds`);

$ANDROID_HOME/emulator/emulator -avd $opt

1

利用可能な最初のエミュレータを実行します。

~/Library/Android/sdk/tools/emulator -avd `~/Library/Android/sdk/tools/emulator -list-avds | awk '{print $1}'`

私は似たようなことをします:~/Library/Android/sdk/tools/emulator -avd $(~/Library/Android/sdk/tools/emulator -list-avds | head -1)
Kamen Tsvetkov

1

私はここで遅れていますが、共有したいので、後で必要になったときに誰かと私も助けになるかもしれません:)だから、以下はbashスクリプトを使用してコマンドラインから1つのコマンドでエミュレータを開く方法です。MX Linuxを使用していますが、プロセスはすべてのオペレーティングシステムで同じです

1-まず、インストールされているエミュレータを確認します

emulator -list-avds

以下のようになります

emulator -list-avds
Nexus_4_API_28
Pixel_2_API_28

2-プレーンテキストまたはコードエディターを開き、新しいファイルを作成して以下のように記述します

#!/bin/sh
emulator -avd Nexus_4_API_28

Nexus_4_API_28は、最初のステップで取得した独自のエミュレーターです。

このファイルを.sh拡張子で保存します

3-次に、ファイルの権限を変更して実行可能にします。

chmod u+x emu.sh

4-次に、次のコマンドでこのbashスクリプトファイルを実行するだけでエミュレータを開きます

./emu.sh

ここに画像の説明を入力してください


この回答により、私と私のチームの多くの時間を節約できます。ありがとう
Sopia Alfred

0

DNSヘルプを使用してコマンドラインからエミュレータを起動する

エミュレータプログラムの場所:/ Users / {{UserName}} / Library / Android / sdk / tools

  1. 既存のavdを確認してください:-エミュレータ-list-avds

  2. dns set / Users / {{UserName}} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8でエミュレータを起動します


0

以下のための説明書を参照してください下にUbuntu Linuxのzshの

  1. 端末ウィンドウを開く(CTRL+ ALT+ T
  2. コマンドnano ~/.zshrcを実行してプロファイルを編集します
  3. 開いたファイルに次の行を追加します。
export ANDROID_SDK_HOME="~/Android/Sdk"
alias emulator="$ANDROID_SDK_HOME/emulator/emulator"
  1. ファイルを保存します(CTRL+ OCTRL+ X
  2. コマンドを実行してプロファイルを入手するsource ~/.zshrc 、ログアウトして再度ログインします
  3. emulator -helpターミナルでコマンドを実行してテストする

:のために同じである必要がありますbash交換することによって.zshrc.bashrc

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.