答え1
同じ問題がありましたが、Android Studio のデバイス リストが実際に使用できるデバイスと一致していないようです。avdmanager list avd
コマンド ラインで実行すると、エミュレートしようとしていたデバイスについて次のメッセージが表示されました。
The following Android Virtual Devices could not be loaded:
Name: Pixel_2_API_27
Path: C:\Users\foo\.android\avd\Pixel_2_API_27.avd
Error: Google pixel_2 no longer exists as a device
奇妙なことに、エミュレータは正常に動作していましたが、起動直後にデバッグ接続が切断されました。
実行すると、avdmanager list device
Android Studio 内の AVD マネージャーとはまったく異なるオプションが表示されます。これらを互いに一致させる方法はわかりませんが、両方のリストで見つかったデバイス (私の場合は Nexus 6P) をエミュレートすることで回避できました。
答え2
Android Studio は Eclipse をベースにしているため、試さなかった提案の 1 つが実際に役立つ可能性があります。このエラー コードには多くの理由があるため、すでに試した解決策もリストする必要があります。以下に小さなリストを示します。
アプリのインストールを試みる前に、エミュレーターが OS を実行するのを十分待たなかった可能性があります。エミュレーターを起動し、ホーム画面が表示されるまで待ってから、Eclipse でアプリを実行してください。
インストールされている VPN ソフトウェアが競合する可能性があるため、アンインストールする必要がある場合があります。
エミュレータの起動パラメータにある Android プロジェクト、構成、ターゲットを右クリックして、「ユーザー データを消去」という起動オプションを選択すると役立つ場合があります。
AVD マネージャーでプロジェクトに適切な仮想デバイスが定義されていることを確認します。
- 「プロジェクト」->「プロパティ」->「Android」に移動します。
- 右側のペインで、プロジェクト ビルド ターゲットでチェックされている行を確認します。
ターゲットプラットフォーム番号を覚えておく選択した行に表示されます。 - 「Windows」->「AVD マネージャー」に移動します。
- 既存の Android 仮想デバイスのリストで、プロジェクトに設定したプラットフォームと API レベルに一致するデバイスを探します (上記の手順 2 を参照)。
- ご使用のプラットフォーム用の AVD を含む行がない場合 (おそらく)、「新規」ボタンを使用して追加します。
- 「新しい Android 仮想デバイスの作成」ウィンドウが開きます。新しいデバイス名を設定します。「ターゲット」選択ボックスで、プロジェクトに適したプラットフォームを選択します。
adb kill-server
Eclipse とエミュレーターを開いたまま (Eclipse がエミュレーターを見つけなくても)、に続いてコマンド ラインを実行しadb start-server
、adb が再び起動したら、Eclipse からプロジェクトを実行してみます。Eclipse IDE で Android のデバイス ビューを開き、デバイス メニューの「Reset Adb」メニュー項目をクリックして、アプリケーションを再度実行します。
「環境設定」>「Android」>「DDMS」で、「ADBHost を使用する」をチェックし、「ADB 接続タイムアウト」を 1000000 に、「メソッド プロファイル バッファー」を 20 MB に設定します。
これらは解決策の一部に過ぎず、問題を解決できない可能性があります。