Windows アプリ
目次を折りたたむ
目次を展開する

Microsoft Emulator for Windows 10 Mobile

[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]

Microsoft Emulator for Windows 10 は、Windows 10 を実行するモバイル デバイスをエミュレートするデスクトップ アプリケーションです。このアプリケーションを使用すると、仮想化された環境が提供されるため、物理デバイスを使用せずに Windows アプリのデバッグとテストを実行できます。また、アプリケーションのプロトタイプのための隔離環境としても使用できます。

エミュレーターは実際の機器と同等のパフォーマンスを発揮するように設計されています。ただし、Windows ストアにアプリを公開する前に、物理デバイスでアプリをテストすることをお勧めします。

さまざまな画面解像度と画面サイズ構成に対応する一意の Windows 10 Mobile エミュレーター イメージを使用して、ユニバーサル アプリをテストすることができます。Microsoft Emulator に用意されているツールを使って、デバイスでの実際の操作をシミュレートし、アプリのさまざまな機能をテストできます。

システム要件

コンピューターは次の要件を満たす必要があります。

BIOS

  • ハードウェア支援による仮想化機能。
  • Second Level Address Translation (SLAT)。
  • ハードウェアベースのデータ実行防止 (DEP)。

RAM

  • 4 GB 以上。

オペレーティング システム

  • Windows 8 以上 (Windows 10 を強く推奨)
  • 64 ビット
  • Pro エディション以上

BIOS 要件を確認するには、「Windows Phone 8 のエミュレーター用に Hyper-V を有効にする方法」をご覧ください。

コントロール パネルで RAM とオペレーティング システムの要件を確認するには、[システムとセキュリティ] をクリックし、[システム] をクリックします。

Microsoft Emulator for Windows 10 Mobile には Visual Studio 2015 が必要です。以前のバージョンの Visual Studio との下位互換性はありません。

Microsoft Emulator for Windows 10 Mobile は、Windows Phone OS 7.1 より前の Windows Phone OS バージョンを対象とするアプリを読み込むことはできません。

インストールとアンインストール

  • インストール

    Microsoft Emulator for Windows 10 Mobile は、Windows 10 SDK の一部としてリリースされています。Windows 10 SDK とエミュレーターは、Visual Studio 2015 の一部としてインストールできます。「Visual Studio 2015 RC 用の Windows 10 開発ツールをインストールする手順」をご覧ください。

    Microsoft Emulator for Windows 10 Mobile は、Microsoft Emulator のセットアップを使ってインストールすることもできます。「Windows 10 開発者ツール プレビュー」をご覧ください。

  • アンインストール

    Microsoft Emulator for Windows 10 Mobile は、Visual Studio のセットアップ/修復を使ってアンインストールできます。または、コントロール パネルの [プログラムと機能] を使ってエミュレーターを削除することもできます。

    Microsoft Emulator for Windows 10 Mobile をアンインストールしても、使うエミュレーター用に作られた Hyper-V 仮想イーサネット アダプターは自動的に削除されません。この仮想アダプターは、コントロール パネルの [ネットワーク接続] から手動で削除できます。

Microsoft Emulator for Windows 10 Mobile に関する最新情報

ユニバーサル Windows プラットフォーム (UWP) をサポートするだけでなく、エミュレーターには次の機能も追加されています。

  • マウスとシングル タッチ入力を区別するマウス入力モードのサポート。
  • NFC のサポート。 エミュレーターを使うと、NFC をシミュレートし、NFC/近接通信が有効なユニバーサル アプリをテストおよび開発することができます。
  • ネイティブのハードウェア アクセラレーションは、ローカル グラフィックス カードを使ってエミュレーターのグラフィックス パフォーマンスを向上させます。アクセラレーションを使うには、サポートされているグラフィックス カードを取り付け、エミュレーターの [その他のツール] 設定ユーザー インターフェイスの [センサー] タブでアクセラレーションを有効にする必要があります。

このバージョンのエミュレーターには、以前の Windows Phone エミュレーターのすべての機能も装備されています。ツールを使う方法については、「Windows Phone エミュレーターでアプリの機能をテストする」をご覧ください。

  

1 つの重要なユーザー インターフェイスの変更が加えられています。このバージョンのエミュレーターでは、ハードウェア キーボードを表示または非表示にするキーボード ショートカットは F4 キーになっており、以前のエミュレーターで使われていた PageUp/PageDown キーのペアに代わり、トグルとして機能します。

 

マウス入力

Windows PC の物理的なマウスまたはトラック パッド、およびエミュレーター ツール バーのマウス入力ボタンを使用して入力をシミュレートします。この機能は、Windows 10 デバイスにペアリングされたマウスを利用して入力を行う機能をアプリがユーザーに提供する場合に便利です。

エミュレーター ツール バーのマウス入力ボタンをタップしてマウス入力を有効にします。エミュレーター クロム内でクリック イベントがあると、エミュレーター VM の内部で実行されている Windows 10 Mobile OS にマウス イベントとして送信されるようになります。

マウス入力が有効になっているエミュレーターの画面

マウス入力が有効になっているエミュレーターの画面。

エミュレーター ツール バーのマウス入力ボタン

エミュレーター ツール バーのマウス入力ボタン。

近距離無線通信 (NFC)

エミュレーターの [その他のツール] メニューの [NFC] タブを使って、Windows 10 Mobile で近距離無線通信 (NFC) が有効な機能を使用するアプリをビルドしてテストします。NFC は、近接通信シナリオ (タップして共有など) からカード エミュレーション (タップして支払いなど) まで、多くのシナリオで役立ちます。

アプリをテストするには、1 組のエミュレーターを使って互いにタップする 1 組の電話をシミュレートします。または、タグへのタップをシミュレートしてアプリをテストすることもできます。Windows 10 では、モバイル デバイスが HCE (ホスト カード エミュレーション) 機能にも対応しており、電話エミュレーターを使うことで、デバイスを支払い端末にタップして APDU コマンド応答トラフィックを送信する操作をシミュレートできます。

[NFC] タブは 3 つのモードをサポートしています。

  • 近接通信モード
  • HCE (ホスト カード エミュレーション) モード
  • スマート カード リーダー モード

すべてのモードで、エミュレーター ウィンドウには 3 つの対象エリアがあります。

  • 左上のセクションは、選択されたモードに固有です。このセクションの機能はモードによって決まります。詳しくは、以下のモード固有のセクションで説明します。
  • 右上のセクションには、ログが一覧表示されます。1 組のデバイスを互いにタップする (または POS 端末にタップする) と、タップ イベントが記録され、デバイスがアンタップされるとアンタップ イベントが記録されます。このセクションには、接続が切断される前にアプリが応答したかどうかや、エミュレーター UI で実行した他の操作もタイムスタンプ付きで記録されます。モードを切り替えてもログは存続します。ログは、[ログ] 画面の [消去] ボタンを押すことでいつでも消去できます。
  • 画面の下半分はメッセージ ログになっており、選択されたモードに応じて、現在選択されている接続を経由して送受信されたすべてのメッセージのトランスクリプトが表示されます。

重要  タップ ツールを初めて起動すると、Windows ファイアウォールのプロンプトが表示されます。3 つのチェック ボックスをすべてオンにし、ツールがファイアウォールを通過できるようにする必要があります。そうしないと、ツールが動作せず、通知も表示されません。
 

クイック スタート インストーラーを起動したら、必ず上の手順に従ってファイアウォールのプロンプトで 3 つのチェック ボックスをすべてオンにしてください。さらに、タップ ツールをインストールし、Microsoft Emulator と同じ物理ホスト コンピューターで使う必要があります。

近接通信モード

1 組の電話を互いにタップする操作をシミュレートするには、1 組の Windows Phone 8 エミュレーターを起動する必要があります。Visual Studio では同一のエミュレーターを 2 つ同時に実行することはできないため、これを回避するため、エミュレーターごとに異なる解像度を選ぶ必要があります。

NFC 近接通信ページ

[ピア デバイスの検出を有効にする] チェック ボックスをオンにすると、[ピア デバイス] ドロップダウン ボックスに Microsoft Emulators (同じ物理ホスト コンピューターまたはローカル ネットワークで実行) とシミュレーター ドライバーを実行している Windows コンピューター (同じコンピューターまたはローカル ネットワークで実行) が表示されます。

両方のエミュレーターが実行されたら、次のようにします。

  • [ピア デバイス] ボックスの一覧で、対象とするエミュレーターを選びます。
  • [ピア デバイスに送信] ラジオ ボタンをオンにします。
  • [タップ] ボタンをクリックします。これにより、2 つのデバイスを互いにタップする操作がシミュレートされ、NFC タップ通知音が鳴ります。
  • 2 つのデバイスを切断するには、[アンタップ] ボタンをクリックします。

または、[この秒数後に自動的にアンタップする] チェック ボックスをオンにすると、デバイスをタップした状態にする秒数を指定でき、指定した秒数が経過すると自動的にアンタップされます (実際のユーザーに対して何が予想されるかをシミュレートしているため、電話を互いにタップするのは短時間と考えられます)。ただし、現在のところ接続がアンタップされた後はメッセージ ログを使用できない点に注意してください。

タグからのメッセージを読む操作や他のデバイスからのメッセージを受信する操作をシミュレートするには、次のようにします。

  • [自分に送信] ラジオ ボタンをオンにし、NFC 対応デバイスが 1 台だけ必要なシナリオをテストします。
  • [タップ] ボタンをクリックします。これにより、デバイスをタグにタップする操作がシミュレートされ、NFC タップ通知音が鳴ります。
  • 切断するには、[アンタップ] ボタンをクリックします。

近接通信モードを使うと、タグまたは別のピア デバイスから送信されたかのようにメッセージを挿入できます。このツールを使うと、次の種類のメッセージを送信できます。

  • WindowsURI
  • WindowsMime
  • WritableTag
  • Pairing:Bluetooth
  • NDEF
  • NDEF:MIME
  • NDEF:URI
  • NDEF:wkt.U

これらのメッセージは、[ペイロード] ウィンドウで編集するか、ファイルに入力することで作ることができます。これらの種類とその使用方法について詳しくは、ProximityDevice.PublishBinaryMessage のリファレンス ページの「注釈」セクションをご覧ください。

Windows 8 Driver Kit (WDK) には、Windows Phone 8 エミュレーターと同じプロトコルを公開しているドライバー サンプルが含まれています。DDK をダウンロードしてそのサンプル ドライバーをビルドし、Windows 8 デバイスにインストールした後、Windows 8 デバイスの IP アドレスまたはホスト名をデバイス リストに追加し、別の Windows 8 デバイスまたは Windows Phone 8 エミュレーターを使ってタップします。

ホスト カード エミュレーション (HCE) モード

ホスト カード エミュレーション (HCE) モードでは、販売時点管理 (POS) 端末などのスマート カード リーダーをシミュレートする独自のカスタム スクリプトを記述して、HCE ベースのカード エミュレーション アプリケーションをテストできます。このツールは、リーダー端末 (POS、バッジ リーダー、輸送カード リーダーなど) とスマート カード (アプリケーションでエミュレートするカード) の間で送信されるコマンド応答ペア (ISO-7816-4 に準拠) に精通していることを前提としています。

NFC HCE ページ

  • スクリプト エディター セクションで [追加] ボタンをクリックして、新しいスクリプトを作ります。スクリプトの名前を指定できます。編集が完了したら、[保存] ボタンを使ってスクリプトを保存できます。
  • 保存されたスクリプトは、次回エミュレーターを起動したときに使うことができます。
  • スクリプト エディター ウィンドウで [再生] ボタンをクリックして、スクリプトを実行します。この操作の結果、電話を端末にタップし、スクリプトに記述されたコマンドが送信される操作がシミュレートされます。または、[タップ] ボタンをクリックして [再生] ボタンをクリックします。[再生] をクリックするまで、スクリプトは実行されません。
  • [停止] ボタンをクリックしてコマンドの送信を停止します。これにより、アプリケーションへのコマンドの送信が停止されますが、[アンタップ] ボタンをクリックするまでデバイスはタップされたままです。
  • ドロップダウン メニューでスクリプトを選んで [削除] ボタンをクリックし、スクリプトを削除します。
  • [再生] ボタンを使ってスクリプトを実行するまで、エミュレーター ツールはスクリプトの構文をチェックしません。 スクリプトによって送信されるメッセージは、カード エミュレーション アプリの実装によって異なります。

支払いアプリのテストには、MasterCard の端末シミュレーター ツール (https://www.terminalsimulator.com/ ) を使うこともできます。

  • スクリプト エディター ウィンドウの下にある [MasterCard リスナーを有効にする] チェック ボックスをオンにし、MasterCard のシミュレーターを起動します。
  • このツールを使うと、NFC ツールを通じてエミュレーターで実行されているアプリケーションに中継されるコマンドを生成することができます。

HCE のサポートと Windows 10 Mobile で HCE アプリを開発する方法について詳しくは、Microsoft NFC チームのブログをご覧ください。

HCE テスト用のスクリプトを作る方法

スクリプトは、C# コードとして記述され、[再生] ボタンをクリックするとスクリプトの Run メソッドが呼び出されます。このメソッドは、APDU コマンドの送受信に使われる IScriptProcessor インターフェイスを取得してログ ウィンドウに出力し、電話からの APDU 応答を待機する場合のタイムアウトを制御します。

以下に、使用可能な機能の参考例を示します。


        
        public interface IScriptProcessor
        {
            // Sends an APDU command given as a hex-encoded string, and returns the APDU response
            string Send(string s);

            // Sends an APDU command given as a byte array, and returns the APDU response
            byte[] Send(byte[] s);

            // Logs a string to the log window
            void Log(string s);

            // Logs a byte array to the log window
            void Log(byte[] s);

            // Sets the amount of time the Send functions will wait for an APDU response, after which
            // the function will fail
            void SetResponseTimeout(double seconds);
        }


スマート カード リーダー モード

エミュレーターは、ホスト コンピューター上のスマート カード リーダー デバイスに接続できます。そのようにすると、挿入またはタップされたスマート カードが電話アプリケーションに表示され、Windows.Devices.SmartCards.SmartCardConnection クラスを使って APDU と通信できるようになります。これを実現するには、互換性のあるスマート カード リーダー デバイスをコンピューターに接続する必要があります。USB スマート カード リーダー (NFC/非接触型および挿入/接触型) は、簡単に入手することができます。エミュレーターが接続されたスマート カード リーダーとやり取りできるようにするには、まずカード リーダー モードを選ぶと、ホスト システムに接続された互換性のあるスマート カード リーダーがすべて一覧表示されたドロップダウン ボックスが表示されます。次に、接続先のスマート カード リーダー デバイスをドロップダウンから選びます。

NFC 対応スマート カード リーダーの中には、一部の種類の NFC カードがサポートされないものや、標準 PC/SC メモリ カード APDU コマンドがサポートされないものがある点に注意してください。

エミュレーターで実行中のアプリ

エミュレーターでアプリを実行する方法については、「Windows Phone 8 のアプリを展開して実行する方法」をご覧ください。

既知の問題

エミュレーターの既知の問題と、問題が発生した場合の推奨される解決策を次に示します。

エラー メッセージ: "仮想イーサネット スイッチの削除中にエラーが発生しました"

新しい Windows 10 フライトへの更新後など、状況によっては、エミュレーターに関連付けられている仮想ネットワーク スイッチが、ユーザー インターフェイスを使って削除できなくなることがあります。

この状況から回復するには、管理者のコマンド プロンプト C:\Program Files (x86)\Microsoft XDE\<version>\XdeCleanup.exe から "netcfg -d" を実行します。コマンドの実行が完了したら、コンピューターを再起動して回復プロセスを実行します。

  このコマンドにより、エミュレーターに関連付けられているデバイスだけでなく、すべてのネットワーク デバイスが削除されます。使用しているコンピューターを再度起動すると、すべてのハードウェア ネットワーク デバイスが自動的に検出されます。
 

エミュレーターを起動できない

Microsoft Emulator には、すべての VM、差分ディスク、およびエミュレーター固有のネットワーク スイッチを削除するツールである XDECleanup.exe が含まれており、これはエミュレーター (XDE) バイナリに既に付属しています。エミュレーター VM が無効な状態になったら、このツールを使用して、その VM をクリーンアップする必要があります。ツールは、管理者のコマンド プロンプト C:\Program Files (x86)\Microsoft XDE\<version>\XdeCleanup.exe から実行します。

  XDECleanup.exe により、エミュレーター固有のすべての Hyper-V VM のほか、VM チェックポイントや保存された状態も削除されます。
 

モバイル向け Windows 10 イメージのアンインストール

エミュレーターをインストールすると、モバイル向け Windows 10 の VHD イメージがインストールされ、独自のエントリがコントロール パネルの [プログラムと機能] の一覧に示されます。このイメージをアンインストールするには、インストールされているプログラムの一覧で [Windows 10 for Mobile Image - <version>] (モバイル向け Windows 10 イメージ - <バージョン>) を見つけて右クリックし、[アンインストール] をクリックします。

その後、現在のリリースで、エミュレーターの VHD ファイルを手動で削除する必要があります。エミュレーターを既定のパスにインストールした場合、VHD ファイルは、C:\Program Files (x86)\Windows Kits\10\Emulation\Mobile\<バージョン>\flash.vhd にあります。

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

エミュレーターのトラブルシューティングについては、以下のトピックをご覧ください。

サポート資料

Windows 10 ツールを使う際に生じた質問の答えを探したり、問題を解決したりするには、Windows 10 ツール フォーラムにアクセスしてください。Windows 10 開発のすべてのフォーラムを参照するには、このリンクにアクセスしてください。

関連トピック

エミュレーターで Windows Phone アプリを実行する
Windows と Windows Phone SDK のアーカイブ

 

 

表示:
© 2018 Microsoft