Android studio 2.0エミュレータを使用しようとしましたが、エミュレータでアプリを実行できません。アプリを実行すると、エミュレータに次の詳細が表示されます。
Haxは有効です
Hax ram_size 0x800000000
HAxは動作しており、エミュレーターです
高速virtモードで実行されます。
ポート5554のコンソール、
ポート5555のADB
その後、次のTAB起動アプリに進み、デバイスがオンラインになるのを待っていると表示されます。その後、エラーが表示されます。
私が今まで試したこと。
誰もが解決策を知っています。
前もって感謝します。
編集
私はまだ解決策を見つけていません。以前のバージョンの既知のバグであるため、2016年5月4日に新しい問題を開きました。同じ問題がある場合は、次のリンクで報告してください。
私にとっての解決策は、Android仮想デバイスのグラフィックスオプションをSoftware
またはAutomatic
ではなくHardware
に設定することでした。
専用のグラフィックスカードを搭載していないWindowsマシンで作業しているため、これが解決策であると考えています。
Adbで転送が有効になっている場合があります。これを試すことができます:Android studioを終了し、ターミナルを起動します。次のコマンドを実行します。
adb kill-server
adb forward --remove-all
adb start-server
これで、Android Studioを起動して再試行できます。
また、何か問題が発生する可能性があります:Docker for Macを必ず終了してください(他のすべての種類のdockerのインストールも可能です)。
なぜこれが起こっているのかはわかりませんが、回避策を見つけました。
Menu->Tools->Android
に移動し、オプションEnable ADB Integration
のチェックを外してアプリケーションを実行します。これでエミュレーターが起動しますが、アプリは実行されません。エミュレータが完全に起動したら、Enable ADB Integration
オプションを確認して、アプリを再実行します。これで、既に実行中のエミュレーターでアプリが起動します。
あなたが試すことができます:
adb kill-server
、adb start-server
、エミュレーターを開始し、adb devices
はエミュレーターをリストしますか?Android Studioコマンドラインに移動し、次の手順に従います。
__> cd /Users/your_root_name/.Android/avd
__> ls
__> rm -r Nexus_5X_Edited_API_17.avd
2つのavdファイルがあります。アプリを再実行します。
私のマシンでVirtualBoxをシャットダウンした後、私の問題はなくなりました。
私が知っていることの1つは、Linux KVMがVirtualBoxにうまく対応できないことです。
これらは私が取った手順です(Linuxを使用しています)。
まず、@ jlars62が示唆したように、グラフィックスを「ソフトウェア」に切り替えて使用してみましたが、このDIDは機能します。ただし、パフォーマンスはかなり遅いため、少し掘り下げました。
次に、@ CaptainCrunchの提案に従って、コンソールからデバイスを実行してみました。 (私のデバイスはAndroid Studioで作成されました; SDKのemulator
はシステムの別の場所にある可能性があります)
$ ~/Android/Sdk/emulator/emulator -avd Nexus_6_Edited_768Mb_API_23
私にとって、これは次のエラーを生成しました:
libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 ...
間違ったグラフィックドライバーを使用していることを意味する( ArchLinuxの場合 )(Android Sdkには独自のものが付属しています)。 -use-system-libsを使用すると、コマンドラインでシステムを強制できます。
$ ~/Android/Sdk/emulator/emulator -avd Nexus_6_Edited_768Mb_API_23 -use-system-libs
Android Studioにこれを強制させるには、次のように「エミュレータ」への呼び出しをインターセプトできます( Mike42 ):
$ cd ~/Android/Sdk/tools/
$ mv emulator emulator.0
$ touch emulator
$ chmod +x emulator
新しいエミュレータファイルで、これを追加します。
#!/bin/sh
set -ex
$0.0 $@ -use-system-libs
Androidエミュレーター用の最新のSDKにアップグレードします。
デフォルトのディスク容量のままにしておくことができます。
同じ問題がありました。私はAndroid Studio 2.3およびDebian 9.1 Stretch 64ビットを使用しています。私の場合、問題はグラフィックアクセラレーション構成で確立されたデフォルト設定にありました。この問題を解決するために、AVDマネージャーを開き、デバイスを選択して、[アクション]列の[ディスクに表示]オプションを選択して構成ファイル(config.ini)を開きました。ファイル内で、hw.gpu.mode変数に設定されている値をmesaからswiftshaderに変更しました。変更を保存した後、エミュレータは問題なく起動しました。 このリンク で利用可能なオプションを見つけることができます。
通常、動作しなくなった現在のエミュレータを削除して再度作成すると、問題が解決します。私は5分前にそれを持っていて、それが私がそれを解決した方法です。
Android studio 2.2でも同様の問題が発生しました。新しいシステムイメージを再インストールしても解決しませんでした。次に、この解決策を見つけました link .
Enable ADB Integration
オプションのチェックを外して再度チェックすると、解決したようです。私はこれがそこに誰かを助けることを願っています。
アプリケーションとデバイスのAndroid APIバージョンは一致する必要があります。 Gradle Scripts - build.gradle (Module: app)
のminSdkVersion
およびtargetSdkVersion
がデバイスAPIに対応しているかどうかを確認します。
また、低いバージョン(API 15など)では、アプリケーションとデバイスのバージョンが一致しているにもかかわらず、ide-emulatorリンクが失敗します。