Androidエミュレーターに黒い画面しか表示されず、adbデバイスに「デバイスオフライン」と表示される


184

Androidで開発を開始しようとしています。したがって、問題は、コマンドemulator @ A2を発行してエミュレータを起動しようとすると、画面にエミュレータが表示されることです。しかし、2〜3時間待っても、表示されるのは黒い画面だけです。Androidのホーム画面やAndroidのロゴすらありません。ちょうど黒い画面。また、最初は「adbデバイス」でエミュレータがオフラインとして表示されます。2〜3分後に、接続されたデバイスのリストが空白になります。

私はネット全体を検索し、そこに記載されているadbのkillや再起動、スペースのないディレクトリへのjava / androidのインストールなどのすべての手順を試しましたが、役に立ちませんでした。

JdkとAndroidのインストールは次のフォルダーにあります。

C:\ Java32BitInstallation C:\ AndroidSdkInstallationダウンロード/インストールしたもののリストは次のとおりです。

  1. Android SDKツール、リビジョン13
  2. Android SDKプラットフォームツール、リビジョン10
  3. SDKプラットフォームAndroid 4.0.3、API 15、リビジョン1
  4. JDK jdk-7u3-windows-i586

私の道で変数、私は* Cを追加しました:\ AndroidSdkInstallation \ androidの-SDK \プラットフォームツール\; C:\ AndroidSdkInstallation \ androidの-SDK \ツール\; C:\ Java32BitInstallation \; C:\ Java32BitInstallation \ binに*

また、ネットからどこかを読んだ後、値がC:\ Java32BitInstallation \のJAVA_HOME変数を追加しましたが、まだ使用されていません。

IntelliJとEclipseの両方をシステムにインストールしています。しかし、エミュレーターを起動するために、これらのいずれも使用していないので、これらの不正行為は疑いません。

だから、誰もが私を狂わせるようなもので私を助けてくれますか?私は過去10〜12日間試してみましたが、エミュレーターを開始できませんでした。まして、初めての「Hello world」プログラムを書くことはできませんでした。

追記事項:私のシステムはWindows 7(64ビット)マシンです。以前は64ビットバージョンのjdkをインストールしていましたが、そのときも問題がありました。インターネットで検索した後、それをアンインストールして、32ビットバージョンのJavaをインストールしました。しかし、再び無駄です。ただし、この32ビットバージョンのjava(jdk 7 update 3)では、まずjreをjdkインストールの一部としてインストールし、次にjre 7をインストールします。これで、C:\ Java32BitInstallationディレクトリにjreとjre7の2つのフォルダーができました。これは私のエミュレータが上がらない状態で何かをしなければならないのでしょうか?追加の環境変数を指定する必要があるか、既存の環境変数を変更する必要がありますか?親切に助けてください。

ところで、logcatは何も表示しないと言ったでしょうか。


3
この問題を解決できたかどうかはわかりません。最近同じ問題がありました。でエミュレータを実行してみてくださいemulator -debug-init -logcat '*:v'。これが根本的な原因につながる可能性があります。私は失敗したServiceManagerでした。いくつかのServiceManagerファイルを削除したようです。
Markus

1
エミュレータでプログラムを実行している最中に黒い画面が表示されました。あなたの問題はavdセットアップの問題のように聞こえますが、メモリリークが黒い画面を引き起こす可能性があることを他の人に知らせたかったのです。avdを消去してlogcatを再起動し、エミュレーターを再実行するまで、logcatにガベージコレクターGC_MESSAGEが表示されませんでした。これが私の問題ではなかったときに、AVDを削除して再作成している間、私がちょうど良い時間を費やした原因となることを願っています...:-/
cjayem13

以下のリンクをご覧ください。それは私にとってはうまくいきました。 stackoverflow.com/questions/23509626/...
Androidの

1
@Markus「エミュレータ」コマンドはどこで機能しますか?プラットフォームツールにはありません
Shirish Herwade

1
@FabioR:MacではCommand + Option + Escapeを押し、選択qemu-system-i386して強制終了します。同等のアプローチは、他のOSでも機能するはずです。
ccpizza

回答:


136

最新のAndroid SDKでも同じ問題が発生しました。仮想デバイスの設定内の「ホストGPUを使用する」チェックボックスを無効にしただけで、再び機能し始めました。

「Use Host GPU」は、Android 4.2を「Target」として使用している場合にのみ機能します。

アップデート26.02.2014:

developer.android.comの「グラフィックアクセラレーション設定」の章に2つのヒントがあります。

注意:SDK Tools Revision 17以降、エミュレーターのグラフィックアクセラレーション機能は試験的なものです。この機能を使用する場合は、非互換性とエラーに注意してください。

そして

AVD Managerを起動し、ターゲット値がAndroid 4.0.3(APIレベル15)、リビジョン3以降の新しいAVDを作成します。

したがって、Android 4.0.3(APIレベル15)がグラフィックアクセラレーションの最小要件のようです。

2018年7月25日更新:

Android Studioの最新バージョンには、このオプションはありません。問題が解決しない場合は、[ 構成確認 ] ダイアログ(利用可能な場合)の[ エミュレートされたパフォーマンス]ドロップダウンの値を切り替えるか、エミュレータのグラフィックレンダリングとハードウェアアクセラレーションの構成を参照してください。


2
はい、わかった。私は自分のSDKマネージャーでいくつかのものを更新する必要がありました。残念ながら、どのアップデートが適切であったかを正確に伝えることはできませんが、プロセッサーエミュレーターと関係があると思います。
muetzenflo 2013年

1
ありがとう!数日間同じ問題があり、それを理解することができませんでした!
cvocvo 2013

89
私にとってはそれは逆です-それを機能させるために「ホストGPU」をオンにする必要があります。唯一の問題は、そのモードではスクリーンショットを撮ることができないことです:/
Elad Avron

3
Ubuntu 12.04およびandroid sdk 19でホストGPUをオンにする必要があります
JohanBjäreholtMar

2
Android Studio 3.4(Linux、Windows 10)でGPUモードをオンにした後、Android 4.0.3エミュレーターが機能します。Verify Configurationダイアログのオプションは変更できません。エミュレートされたパフォーマンスで選択したものは何でもgpuモードを強制的にオフにします。したがって、config.iniを直接変更します。hw.gpu.enabled = yesおよびhw.gpu.mode = on。通常、設定ファイルは/ user folder / .android / avd / emulator name.avd /にあります。
Sungsuh Park

82

より大きなデバイス(Nexus7および10)をエミュレートするのに問題がありましたが、電話サイズのエミュレーターはうまく機能しました。タブレットで何時間も何もせずに黒い画面が表示されるだけです。実際に助けになったのは、ここでほとんどの人が推奨しているものの反対です:「ホストGPUを使用」のチェックボックスを設定し、ターゲットを最高のAndroid(この記事の執筆時点では4.4.2)に設定した後、7と10は次のように機能します期待された!


17
これも私にとってはうまくいきました。[Use Host GPU]がチェックされていることを確認し、ターゲットをAndroid 4.4.2に設定します。
Rブリル

1
ありがとう。オプションをチェックすると、4.2.2が動作し始めました!他の人も言ったことを信じています。なんてばかげたジャワの世界!
JQ。

まさに私が必要としたもの。ありがとう!
TheXenocide 2014年

[Use Host GPU]がオンになっているかどうかに関係なく、APIレベル14は機能しません。APIレベル17は、「ホストGPUを使用する」がチェックされている場合に機能しました。
vishvAs vAsuki 2015年

これも私にはうまくいきました。私は2015年の初めにMacBookを使用していて、個別のグラフィックカードはありません。
Simon Stender Boisen 2015年

53

最近、エミュレーターであるNexus 5(Android O)にも同じ問題があります。Android Virtual Device Managerにアクセスしてユーザーデータをワイプすると問題が解決しました。

Android仮想デバイスマネージャー


私のために働いた。ありがとう。
サダフセイン

1
コマンドラインを使用してWindowsで実行している2020年に私のために働いた
ViktorMS

1
これが最も一般的な解決策です。受け入れられる答えでなければなりません。
Dror Bar

30

起動オプションで[ユーザーデータをワイプ]をオンにすると、修正されました。

Android Virtual Device Managerに移動します->デバイスを選択します->スタート-> [ユーザーデータの消去]をチェックします->起動


1
これは、チームビューアを介してエミュレータを実行するMacで動作しました。Android Studio 2.0では、このオプションは編集ボタンの横にある下向き矢印に表示されます->「データの
消去

素晴らしい作品。エミュレーターがソース(私の場合はandroid pie aosp_x86_64-userdebug)からビルドされている場合、ルートディレクトリのmakeコマンドを実行するときは常に、-wipe-data正しく起動するために引数付きでエミュレーターを起動する必要があります。
yc2986

素晴らしい解決策、それは私のために働いた
core114

23

Macユーザー:残念ながら、古いMac(2009年後半など)でYosemiteを使用している場合、64ビットアーキテクチャでHAXMを使用することはできません。HAXMのリリースノートによると:

HAXMドライバーは、Coreマイクロアーキテクチャー(Core、Core2 Duoなど)に基づくIntelシステムでの64ビットシステムイメージのエミュレーションをサポートしていません。Nehalem以降に基づくすべてのシステムがサポートされています。(Corei3、Core i5およびCore i7マシン)。

この引用に出くわしたとき、私はこの問題を理解しようとする一日を過ごしました。機能するのは、AVDで非x86バージョンの最新OS(Lollipop Android 5.0.1 armeabi-v7aなど)を使用することだけです。


21

電源ボタンを試してみましたか:) ...それは本当に私にとってはうまくいきました。実際にエミュレーターは閉じる前にデバイスの状態を保存するため、最後の実行時にデバイスをオフにしてエミュレーターを閉じた場合、次の実行時に以前の状態が読み込まれ、オフになっている電話(空白の画面)が表示されます。この問題の他の多くの原因があるかもしれませんが。

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


3
これは上記の回答で言及する必要があります。Android Studioの初日で、このボタンをクリックするのが怖かったので、電話をシャットダウンすると思ったので、再び電源を入れるのに時間がかかりました。はい、黒い画面は電話がオフになっていることを意味し、実際のデバイスのように電源ボタンを押してウェイクアップする必要があります。
kojot

これは私に多くの頭痛と時間を節約しました、本当にありがとう。エミュレータを閉じたいときにこのボタンを誤って押してしまいました。次にアプリを実行したときに黒くなったときにトラブルシューティングを行うときに、このボタンについて考えていませんでした
Meenohara

9

やる工場出荷時設定へのリセットをして「Androidデバイスマネージャー」

Android Studioの新しいバージョンでは、これは「ワイプデータ」と呼ばれ、仮想デバイスマネージャーのデバイスの右クリックメニューにあります。


これでうまくいきました。ありがとうございます。VS 2019で、Androidデバイスマネージャーに移動し、右クリックして「工場出荷時の状態にリセット」します。私は黒い画面エミュレータを持っていて、これで問題が解決しました。
エヴァン

7

ここに私がそれを解決した方法があります:私は次のコマンドでエミュレーターを走らせました:

sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v'

そして出力で以下を受け取りました:

NAND: could not write file /tmp/android-code/TMP7.tmp, No space left on device. (similar error, could not reproduce it)

だから、私はubuntuの/ homeディレクトリからいくつかのディスクスペースを解放しました(Windowsの場合はC:ドライブスペースを解放します)そしてそれはスムーズに起動しました。


私は次のコマンドを使用しました:sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v' AVDを開始してログを表示し、デバイスがラップトップカメラにアクセスできないことを発見したので、設定を編集してカメラを無効にしました。その後、すべてがうまくいきました!
Mo Zaatar 2017

6

この問題も突然発生しました。AndroidスタジオはCPUを100%使用しており、エキスポで次のエラーが発生しました。

Couldn't start project on Android: Error running adb: This computer is not authorized to debug the device. Please follow the instructions here to enable USB debugging: https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.

コールドブートは、boltup_im_codingの答えのように、私のためにそれを修正しました。この方法でコールドブートすることもできます(黒い画面で)。

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


4

それの音によって、あなたは誤って構成されたデバイスを持っています。これを行うと、Logcatが起動せず、何も表示されません。

AVD Managerで利用可能なデフォルトの「デバイス定義」の1つを使用して新しいデバイスを作成することをお勧めします。[デバイス定義]タブで目的のデバイスタイプをハイライト表示し、[AVDを作成...]ボタンをクリックして、詳細をいくつか入力するだけの簡単な方法です。まず、「内部ストレージ」を約8GBに調整し、(おそらく)2GBの「SDカード」を調整し、その他はすべて同じままにします。デバイスを起動してみてください。実行中の画面に「Android」ポップアップが表示された場合。通常、最初の起動にはしばらく時間がかかるため、しばらく待って、Logcatに問題がないかどうかを確認します(「DDMS」の観点が役立ちます)。

それでもデフォルトのデバイス定義で黒い画面が表示される場合は、デバイスの障害の原因となっている他の場所で問題が発生しています。その場合、ログを掘り下げることが唯一のチャンスかもしれません。他に何も機能しない場合は、いつでもADTを再ダウンロードしてSDKを再インストールしてみてください。

ここでの目標は、(非常に)基本的なデバイスで起動して実行することです。そのため、この時点で非常に印象的なスペックを狙うのではなく、実行させるために撃ってください。それが起こったら、希望どおりの仕様になるまで、設定を1つずつ調整してみてください。エミュレータには制限があり、実際のデバイスに代わるものではないことに注意してください(ほとんどの場合動作しますが;)


質問を投稿してから1年近く経った後、返答を見て驚いた。先ほどお話しした手順を試しましたが、役に立ちませんでした。私はSDkをアップグレードし、それはうまくいきました。
user1314305 2013年

4

最新のHAXMリビジョンがインストールされていることを確認してください。1.0.8がすでに利用可能であるのに、バージョン1.0.1でも同じ空白の画面の問題がありました。インストーラーはSDKツールを介してダウンロードでき、実際に実行する必要のあるモジュールをインストールします

android-sdk-directory \ extras \ intel \ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe



3

CPU / ABIを「Intel Atom(x86)」に設定して、「Use Host GPU」チェックボックスを無効にしてみてください。


3

エミュレータの黒いウィンドウに関連する問題:

新しいウィンドウがインストールされると発生します。ウィンドウのグラフィックに関連する問題は、ウィンドウのCDにあります。ウィンドウを更新し、次の手順を実行する必要があります。

エミュレートされたパフォーマンスグラフィックスが(ソフトウェアGLESの場合、次に選択します->自動)

または、エミュレートされたパフォーマンスグラフィックスが(自動の場合、それを選択します->ソフトウェアGLES)

この変更により、この問題を解決できます。


3

問題を解決するために、常に「コールドブート」に変更しました。これ以前は、実行adb devicesすると常にと表示されていましたoffline

コールドブートのスクリーンショット


1
コールドブートもうまくいきました。一度やってみて以来、問題はありませんでした。...しかし、
たまに

3

次の修正は私のために働きました:

  1. AVDフォルダーを ~/.android/avd
  2. 開いた config.ini
  3. 次の設定をこれらの値に置き換えます。

    hw.gpu.enabled=yes
    hw.gpu.mode=on
    
  4. ファイルを保存して閉じます
  5. Android StudioでAVD設定画面を開かないでください。上記の設定が元に戻ります。
  6. エミュレータを起動します

修正を提供しくれたSunsugh Parkに感謝します

API 15を開始するブラックスクリーンでこれをGoogleに報告しました。問題にスターを付けて、修正してもらいます。

編集する

実際、エミュレータは問題なく起動しましたが、アプリを開いた後にクラッシュしました。そのため、エミュレータチームは、何らかの理由でハードウェアグラフィックスを無効にする必要があります。残念ながら、エミュレーターを動作させることは不可能のようです。


2

API 28でも同じ問題がありましたが、修正は以下のようになります。

Android UIのSkiaレンダリングを有効にする

API 27以降の画像を使用する場合、エミュレータはAndroid UIをSkiaでレンダリングできます。これにより、よりスムーズかつ効率的にレンダリングできます。

Skiaレンダリングを有効にするには、adbシェルで次のコマンドを使用します。

su
setprop debug.hwui.renderer skiagl
stop
start

https://developer.android.com/studio/run/emulator-acceleration#accel-graphics


編集ありがとう-私は適切にコメントするのに十分な評判がありません...
ショーンコンウェイ

1

私も同じ問題を抱えています。EclipseをEEからEclipse Classicに変更すると、問題なく動作しました。Win Professional 64Bit。それもあなたのために働くかもしれないので試してみてください。


1
こんにちはSenthil、返信ありがとうございます。私はそれがEclipseバージョンの問題ではないと思います、bcoz私はeclipseを使用してエミュレーターを起動していません。私はそれのためにandroid sdkツールを使用しています。
user1314305 2012

1
ああ..その後、誰かがあなたを助けるかもしれないしばらく待つ..!すみません、、、
SenthilPrabhu

1

Delphiを介してAndroidエミュレーターでAndroidテストアプリケーションを起動およびデバッグできました。

Windows 7 64ビット、4 GB RAM、3 GHzのデュアルコアプロセッサ、およびDelphi XE 5を使用しています。

以下は、職場の同僚のために私が急いで用意したリンクですが、最初のチャンスでそれを改善します。

DelphiでAndroidアプリをデバッグする

私の英語を許してください、しかし私はネイティブの英語を話す人ではありません。この小さなチュートリアルを見つけていただければ幸いです


1

回避策として、Intel Atom(x86)イメージでAndroid 4.0.3(API 15)を試してください。「use host gpu」とHAXMの両方を有効にして、DDMSスクリーンショットをキャプチャできました。この組み合わせだけがうまくいきました。


1

私も同じ問題を抱えていました。HAXMハードウェアアクセラレータが最近更新されましたが、更新マネージャーがハードドライブに保存されているインストーラーパッケージを更新するだけなので、再インストールされなかったことがわかりました。更新を完了するには、HAXM​​を削除してから、そのインストーラーパッケージを実行する必要があります。通常、これはANDROID-SDK-ROOT \ android-sdk \ extras \ intel \ Hardware_Accelerated_Execution_Managerにインストールされます。ANDROID-SDK-ROOTは、Android SDKが配置されている場所です。


1

私にとっては、前面カメラと背面カメラの両方をオフにする必要がありました。お役に立てれば!


ああ、私の場合は、バックカメラまたはフロントカメラをエミュレートする必要がありました
stephanfriedrich

1

Macでこの問題が発生していました。「グラフィックス」を「自動」から「ソフトウェア」に変更すると、デバイスを作成するときに問題が修正されます。


1

Hyper-Vを利用したMicrosoftの超高速Androidエミュレーターを使用していますており、GPUモードの設定方法(自動、ホスト、メサ、角度、スイフトシェーダー、オフ)に関係なく、作成したすべてのAndroidエミュレーターに同じ黒い画面が表示されました。どうやらOPとは状況が違うようですが、Microsoft Androidエミュレーターを使用していて、「android emulator black screen」を検索してここに来た方には便利かもしれないと思いました。

私の場合の解決策は、すべてのAndroidツールを更新することです。

   Visual Studio > Tools > Android > Android SDK Manager > Tools

今日(2019-02-01)の時点で、Visual Studio 2017の新規インストールがある場合、Androidエミュレーターでこの黒い画面の問題が発生します。VSは、NuGetパッケージや拡張ツールなどの更新の通知を自動的に表示しますが、Androidの場合は表示しませんツールの更新。手動でチェックして更新する必要があります。


1

Nexus 7、Nexus 10、Pixelでこの問題が発生しましたが、これはすべてのエミュレータで発生しました。

この問題に悩まされた日々の後で、私は最終的にそれを理解しました。さて、それらの構成があなたのものとわずかに異なるかもしれないので、うまくいくかもしれないし、うまくいかないかもしれない上記の答えがたくさんあります。

私の解決策を教えます:

これらのエミュレーターを作成するとき、グラフィックスでハードウェア-GLES 2.0をチェックしてパフォーマンスを向上させました。そして、私にとってそれは問題でした。

同じことをしたら、

Go to AVD Manager -> Select your emulator -> Click on Edit configuration (in Actions column marked as pencil) -> in Emulated performance - Graphics -> Select Software - GLES 2.0.

次にをクリックShow Advanced Settings -> Set none for both Front and Back cameraしてhit Finish

今すぐselect your emulator in AVD Manager and click on Dropdown arrow in Actions column -> select Cold Boot Now

そして、あなたは行く準備ができています😀


0

エミュレーターを実行中に死のブルースクリーンが表示された後、この問題が発生していました。これが私の解決策です(少なくともWindowsの場合)。私の解決策は、AVDを完全に再インストールすることです。Android Studioの通常のアンインストールプロセスの問題は、すべてが削除されないことです。そのため、AVDファイルが破損している場合、再インストールしても破損したままになります。

これを修正するために、2つのディレクトリを削除しました。

C:\ Users \(My Username)\。Android

そして

C:\ Users \(My Username)\。AndroidStudio3.1

次に、インストーラーで再実行しました。

これは、Android StudioのAVDコンポーネントの完全な更新を強制するため、エミュレーターが以前は機能してい場合、これは最も確実なソリューションだと思います


0

エラーの別の原因は、PATHシステム変数(Windowsシステムの場合)の長さである可能性があります。PATH2047文字より長い変数を使用してIntelベースのイメージを実行すると、この変数の空の値がコンソール/エミュレーターに渡されるように見えるため、正しく起動できません。

この動作を説明する記事は次のとおりです。https//software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

私も同じ問題を抱えていました。未使用/存在しないパスを削除して、このシステム変数の全長を1354文字に減らして修正しました。


0

私も同じ問題を抱えていました。これが私の解決策です(Mac OS用)。Androidエミュレータのバージョンをダウングレードしました(28.0.3から27.3.8に)。ここでそれを行うにはどのように詳細な指示があります。


0

win10 64bitでも同じ問題がありました。多くの検索の結果、私はこの解決策を見つけました。(インテルシステム(CPU、GPU、マザーボードなど)を使用している場合)うまくいくことを願っています。

ステップ1:デバイスで仮想化が有効になっていることを確認します。

コンピュータを再起動し、F2キーを押してBIOSをセットアップします。仮想化タグを見つけて、有効になっていることを確認してください。有効になっていない場合、仮想デバイスはデバイスで実行できません。

ステップ2:デバイスにIntel Hardware Accelerated Execution Manager(Intel HAXM)をインストール/更新します。

AVDを実行するには、このソフトウェアをインストールまたは更新する必要があります。「HAXM」をググると最新版がダウンロードできます。ダウンロード後、.exeファイルをインストールしてコンピュータを再起動します。


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