Share via


Surface Duo エミュレーターのトラブルシューティングのヒント

Surface Duo のテクニカル コミュニティにアクセスして、Surface Duo エミュレーターまたは SDK で発生している問題について質問し、ご意見をお寄せください。

一般的な問題とその解決方法を次に示します。

Android 12L エミュレーターが起動しない

最新の Surface Duo Android 12L エミュレーターでは、SDK ツールの Android Emulator がバージョン 31.3.12 以降 (カナリア チャネルでは 32.1.5 以降) である必要があります。

SDK ツールでエミュレーターを更新する方法の詳細については 、前提条件、ダウンロード、インストールの手順 を確認してください。

Android 11 エミュレーターが起動しない

ターミナル出力に次のエラーが表示される場合があります。

WARNING | Failed to process .ini file Surface_Duo_2_API_32.avd/config.ini for reading.
ERROR   | bad config: virtual device file has no valid path.rel entry nor path entry

このエラーは、Surface Duo エミュレーターと SDK ツールのエミュレーターの構成の不一致を示します。 Android Studio では、[ ツール] > [SDK マネージャー > ] [SDK ツール] タブ に移動して、現在のバージョン (およびアップグレードが利用可能かどうか) を確認します。 バージョン 31.3.12 以降 (カナリア チャネルでは 32.1.5 以降) がある場合は、Surface Duo Android 11 エミュレーターと Android SDK バージョンの間の互換性を復元するために INI ファイルを更新する必要があります。

  1. パスに移動します 。\SurfaceDuoEmulator_<version>\artifacts\.android\avd\
  2. Surface_Duo_2_API_32.iniファイルを編集します。
  3. パラメーター path.rel を に変更します Surface_Duo_2_API_32.avd (古いエミュレーターの場合は、従来は に avd\Surface_Duo_2_API_32.avd設定されていました)
  4. エミュレーターの起動を保存して再試行します。

Android 11 エミュレーターの起動が完了しない

Surface Duo エミュレーターの起動中に黒い画面が表示されなくなった場合は、エミュレーターが以前の実行からデータまたは状態の読み込みに問題があることを示している可能性があります。 この問題を解決するには、エミュレーターを閉じ、 ワイプ スクリプトを使用してエミュレーターを起動して起動し直します。 スクリプトは、Surface Duo 2 エミュレーター イメージのインストール場所にあります。

警告

run_wipe スクリプトを使用してエミュレーターを起動すると、エミュレーターに作成またはインストールしたデータとアプリはすべて削除されます。

すべてのユーザー データのワイプを理解し、同意する場合は、./run_wipe_SurfaceDuo2.bat (Windows) または ./run_wipe_SurfaceDuo2.sh (macOS および Linux) を使用します。

別の解決策は、以前にインストールした Surface Duo Android エミュレーターとは異なるファイルの場所に新しいエミュレーターをインストールすることです。 インストール プロセスの一環として、インストール場所を選択できます。

Surface Duo エミュレーターが Android Studio または Visual Studio のデバイスの一覧に表示されない

現在のバージョンの Surface Duo エミュレーターは、お使いの IDE では起動できません。 最初にエミュレーターを手動で起動します。実行されると、デプロイおよびデバッグの一覧に表示されるはずです。

  • Windows - [スタート] > [Surface Duo Emulator](Surface Duo エミュレーター) から選択します。
  • Mac- ./run_SurfaceDuo2.sh (または Visual Studio for Mac の場合は ./run_vs_SurfaceDuo2.sh) を使用してコマンド ラインから起動します。

Surface Duo エミュレーターを起動すると、デバイスの一覧に [Virtual device](仮想デバイス) として表示されます。

Surface Duo エミュレーターが Android Virtual Device (AVD) Manager に表示されない

現在のバージョンの Surface Duo エミュレーターは、AVD Manager では管理できません。 代わりに、ダウンロード ページからインストールし、手動で開始する必要があります。

  • Windows - Surface Duo Emulator の起動>またはデスクトップ アイコン (使用可能な場合) から選択します。
  • Mac- ./run_SurfaceDuo2.sh (または Visual Studio for Mac の場合は ./run_vs_SurfaceDuo2.sh) を使用してコマンド ラインから起動します。

アプリが両方の画面で開かない

既定では、アプリケーションは 1 つの画面でのみ開きます。 その後、ユーザーは、アプリ ウィンドウの下部にあるハンドルをドラッグして、両方の画面にアプリケーションをまたぐよう選択できます。

両方の画面にまたがってアプリケーションを表示する 3 つの手順

お客様は、[ 設定] で既定で両方の画面で開くアプリにオプトインできます。 アプリを自動スパンするには、 Surface Duo の機能 > スパン アプリに自動的に 移動し、スイッチをオンにします。 機能を有効にすると、個々のアプリを一覧から自動スパンに設定できます。 画面が空の場合、アプリは両方の画面でのみ開きます。それ以外の場合、アプリはアクティブ化された画面でのみ開きます。

スパン アプリの自動切り替えを示す設定アプリ

この機能は、Android 11 以降で使用できます。

エミュレーターで内容が回転しない

通知ドロワーまたは [Settings](設定) > [Display](表示) > [Auto-rotate screen](画面の自動回転) で、[Auto-rotate](自動回転) が有効になっていることを確認します。

Surface Duo エミュレーターを "出荷時の設定にリセット" する方法

インストール フォルダーには、ファイル名に ワイプ を含むバッチ ファイルがあります。 いずれかのスクリプトでエミュレーターを起動すると、実質的にエミュレーターが "出荷時の設定にリセット" されます。

  • Windows - インストール フォルダー内の artifacts フォルダーで、run_wipe_SurfaceDuo2.bat (Visual Studio の場合は run_vs_wipe_SurfaceDuo2.bat) を直接実行して、Surface Duo エミュレーター イメージを元の状態に戻すことができます。
  • Mac - ターミナル ウィンドウで、エミュレーター ファイルをコピーしたフォルダーに移動します。 次に、「./run_wipe_SurfaceDuo2.sh」 (または Visual Studio for Mac の場合は「./run_vs_wipe_SurfaceDuo2.sh」) を入力して、Surface Duo エミュレーター イメージを元の状態に戻します。

これらのファイルは、2020 年 10 月中旬にリリースされたエミュレーター バージョン 2020.1014.2 と共にインストールされます。

"古いバージョンを使用していて、すぐには更新できない場合"

以前のバージョンを使用している場合は、最新バージョンをダウンロードするか、スクリプト ファイルを手動で作成する必要があります。 まず、run_wipe (または run_vs_wipe) するために、既存の run_clean (または run_vs_clean) ファイルをコピーして開始し、以下のように変更することができます。

@echo off
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.\
"%DIRNAME%\run.bat" -wipe-data

または、macOS と Linux 上のシェル ファイルの場合は、次のようになります。

#!/bin/sh
./run.sh -wipe-data

更新されたバッチまたはスクリプト ファイルは、エミュレーターを起動するために使用する既存のバッチまたはスクリプト ファイルと同じディレクトリに配置する必要があります。 Visual Studio のバージョン (ファイル名に _vs を使用) を変更する場合は、最後の行が run_vs.bat または run_vs.sh を参照していることを確認してください。

Surface Duo エミュレーターが中断後に起動できない

スナップショットの保存中にエミュレーターが中断されると、その後の起動時に、破損したスナップショット状態からの起動が試行されます。 または、エミュレーターの実行中に予期しない問題が発生し、起動しようとするとエラーが発生することがあります: "emulator: ERROR: bad workspace: cannot find prebuilt kernel in: ../bin/prebuilts/qemu-kernel/x86_64/kernel-qemu"

この場合は、前述のように出荷時の設定にリセットを実行して問題を解決し、エミュレーターを再起動します。