面白いソフトウェアがリリースされました。AndroidアプリをWindowsで動かせるソフトです。
それだけならAndroidエミュレータと変わりませんが、ベースとなっているのは異種OS上でアプリを動かすハイパーバイザー技術。
つまり、将来的にはWindowsアプリをAndroid OS上で動かすということも・・
WinodwsデスクトップでAndroidアプリを実行
BlueStacksがWindowsでAndroidアプリを実行するソフトのベータ版をリリースしました。公開から10日間で100万ダウンロード突破したとか、QualcomやAMDといった名だたる大企業から巨額の資金を調達したといった景気のいい話も聞こえてきます。
それはそれとして、EvernoteやTwiccaなどはWindowsのネイティブアプリよりAndroidアプリ(というかスマホアプリ)の方が使いやすいと思います。そういうアプリをWinodowsで動かすことができるのは嬉しいことです。
「App Player」というWindowsソフトでAndroidアプリを実行します。App PlayerでGoogle Playから直接Androidアプリをダウンロードできるので、App Playerだけで完結した使い方ができます。
自分のAndroid端末と連携するには、Android端末側に「Cloud Connect」というアプリをインストールする必要があります。
Androidエミュレータと違って実使用を目的としたソフトですから、その動作は高速ですしアプリのインストールもおそろしく簡単でした。
インストール
Windowsソフト「App Player」をインストール
まず、ダウンロードです。BlueStacksのWebサイトからソフトウェアをダウンロードします。
シンプルなインストール開始画面。「Continue」をクリックするとインストールが始まります。
インストール中。
完了!!時間にして3分くらいでしょうか。これがApp Playerのメイン画面です。インストールが完了すると、定番アプリが勝手にダウンロードされていきます。
右下の設定アイコンをクリックし、「Cloud Connect」を選びます。
登録画面は英語ですが、それほど難しくないので落ち着いて読めば大丈夫です。
電話番号とメールアドレスを入力するところが分かりにくいかもしれませんので、説明しておきましょう。
携帯番号を入力するとSMSでPINコードを送ってくれますが、「国別コード」なるものを入力させられます。
ここには、日本の国別コードである「81」を入力します。
もう一つ間違えやすいのが携帯番号です。先頭の「0」を省略して入力します。国際電話番号として表示するときは、先頭の「0」があってはいけません。僕の携帯番号は「090」で始まるので、先頭の0を省略して「90・・・」と入力しているわけです。
これでPINコードが自分の携帯にSMSで届きます。
Android側にCloud Connectをインストール
Android端末側で、「Cloud Connect」をインストールします。Cloud Connectを起動するとPINコードを入力する画面が表示されますので、App Playerに表示されているPINコードを入力します。
なお、図で表示しているPINコードは、当然のことながら、加工してでたらめなものにしてありますので、そのまま入力しても何も起きませんよ。
これで、Android端末に入っているアプリをApp Playerに転送することができるようになりました。
実際に使ってみる
早速使ってみます。
まず、定番アプリEvernoteを起動。
おお、動いてる!!すごい。
タップはマウスクリック、フリックはマウスのドラッグで代用します。
パソコンのキーボードを叩くと、自動的に認識して即座にソフトウェアキーボードが立ち上がります。
Android端末に入っているアプリをいくつかApp Playerに転送してみます。
Cloud Connectを起動し、転送したいアプリにチェックを付けて「Sync」ボタンをタップするだけです。
うまくいきました。では、Flickrあたりを動かしてみましょう。
あれ?反応しない。
他にもいくつか試してみましたが、まだちょっと安定していません。
ネットワーク通信するものがダメだとかサウンド系がダメだというわけでもなく、何かのはずみでうまくいったりいかなかったりです。
まあ、ベータ1ですから、この辺の不安定さは仕方ないでしょう。
しかしうまく動いた場合には、サウンドやカメラも問題なく使えますし、動作も非常に高速で快適です。
動作速度はAndroid SDKのエミュレータの比ではありません。僕はマウスで反射系のゲームをやろうとは思わないのですが、ゲームも全然問題なく動作します。
技術的バックグラウンド
ただのインストール記ではつまらないので、少しだけ技術的な解説をしてみます。
ハイパーバイザー技術
BlueStacksで使われているのは端的に言えば仮想化技術なのですが、ハイパーバイザーという技術です。これは、あるOSのシステムコールを別のOSのシステムコールにマッピングするという方式です。
エミュレータ(正確にはハイパーバイザーと言います)自身では何も処理をせず、OSのネイティブシステムコールに橋渡しをするだけです。そして、どうしても足りないところだけをハイパーバイザー自身で処理するという方式です。
ちなみに、Xenがこの方式です。
本来、ハイパーバイザーというのはOSと物理ハードの中間に位置するレイヤなのですが、これを1アプリケーションとして実行できるようにしたところがBlueStacksの技術力のたまものなわけです。
ちなみに、AndroidエミュレータはCPU命令をリアルタイムに解釈してソフトウェア的に実行するというバイナリトランスレーションと呼ばれる方式で動作します。
本来ハードウェア的に実行するCPU命令を1つずつソフトウェアで実行しているのです。だからAndroidエミュレータはあんなに遅いんですが、ハードウェアをソフトでエミュレートしている割には高速に動作すると言ってよいでしょう。
BlueStacksによる説明
一応Technologyというページで技術的バックグラウンドが述べられています。短いので翻訳して載せておきます。
BlueStackの中心となる技術は、革新的な仮想化技術に基づくマルチOS上のランタイムです。異なるOS向けに作成されたアプリケーションを、1台のコンピュータで同時に、しかも同じ画面内で実行することができます。
BlueStacksは、「埋め込み仮想化技術」を実現する、軽量化・最適化された高度なソフトウェアハイパーバイザー技術を採用しています。エンドユーザはBlueStacksを使って完全なAndroid環境を楽しむこともできますし、Windowsデスクトップに直接Androidアプリケーションをインストールすることもできます。どんな最先端の技術でもそうであるように、エンドユーザが技術的な複雑さを目にすることはありません。
BlusStackでは、ユーザインターフェイスを完全にカスタマイズ可能です。PCメーカが独自に開発・デザインしたカスタムソフトウェア体験に統合することもできます。
現在のリリースでは、BlueStacksはWindows上でAndroidアプリケーションの動作をサポートしています。
図をご覧いただければ分かるように、BlueStatcksの仮想化技術を用いることで異なるOS・異なるアプリケーションの組み合わせを非常に簡単にサポートすることができます。たとえば次のような組み合わせです。
- Windows(x86)上でAndroidアプリ
現在のリリースです。AndroidアプリケーションをWindows上で同時にシームレスに実行できます
- Windows(ARM)上でAndroidアプリ
Window8でARMアーキテクチャがサポートされるようになりますが、Windows for ARM上でAndroidアプリを実行。
- Chrome OS(x86)上でAndroidアプリ
ブラウザの1つのタブの中でAndroidアプリを実行することで、Chrome OSのユーザエクスペリエンスを向上。
- Android(x86)上でWinodwsアプリ
Android上でWindowsアプリを実行。起動が高速に、バッテリーの持ち時間が長くなります。
1 コメント:
最近流行ってるぷよぷよクエストのアプリやってみましたですがせいのうが低いのでしょうか音しか出ずタイトル画面すら出てきませんでした。やっぱりAppsをやるならデスクトップパソコンのほうがいいのでしょうか?
コメントを投稿