笠原一輝のユビキタス情報局
2-in-1デバイスを“3-in-1”にする「BlueStacks」
~WindowsでAndroidを利用
(2014/8/30 06:00)
「BlueStacks(ブルースタックス) Android App Player」というソフトウェアが、「Surface Pro 3」などのWindows搭載2-in-1デバイスを所有するユーザー間で注目すべき存在になりつつある。
BlueStacks Android App Playerは、米国のベンチャー企業であるBlueStacksが開発した、WindowsまたはMac OS上でAndroid動作を実現する仮想化ソフトウェアだ。2010年に最初のアルファ版を公開して以来、WindowsプラットフォームにおけるAndroid OSの仮想化ソフトウェアの開発を行なってきた。長らくベータテストされてきたが、2014年になって正式版がリリースされた。
BlueStacks Android App Playerでは、Androidユーザーにとって重要な「Google Playマーケット」も実装されており、Androidスマートフォンで利用しているアプリをWindowsやMac OS上で利用できるのが特徴だ。
正式版となったBlueStacks Android App Playerは、Android 4.0.4ベースの仮想マシンになっている。使用料の詳細は後述するが、BlueStacksが推奨するアプリを自分のスマートフォンにインストールする仕組みを受け入れると無償で利用できるほか、BlueStacks推奨アプリをインストールしたくない場合は年額24ドルを支払うことで代替もできる。
このBlueStacks Android App Playerを利用すると、AmazonのKindleアプリのように、Androidには提供されているが、Windows向けには提供されていないアプリケーションをWindowsデバイスで利用することができる。
サービス事業者により異なるプラットフォームサポートの現実
かつて、インターネットに接続して何かをする機器と言えば、それこそPCが主役の座を独占していた。しかし今のPC Watch読者の大多数は、PCのほかに、スマートフォンやタブレットも所有し、インターネットへ接続しているのではないだろうか。
電車の中で立ったままコンテンツを見るならスマートフォン、寝室で寝っ転がって見るならタブレット、書斎のデスクに座って作業をするならPCと、シーンごとに端末を切り替えて使っている人は多いだろう。
筆者もそうだ。2-in-1デバイスの「VAIO Duo 13」をメインのデバイスにしており、机の上で作業する時にはこれを使っている。その一方、寝室で寝っ転がってWebや電子書籍などを見るときには、レノボ・ジャパンの8型Windowsタブレット「ThinkPad 8」を利用している。また、外出時に電車の中でコンテンツを見たり、ちょっとしたメールを返すときには4型のAndroidスマートフォンを利用している。
そうした時に直面するのが、クラウドサービスによっては特定のプラットフォーム(OS)にしか対応していない問題だ。
例えば、誰もが知っている電子書籍サービスとしてAmazon.co.jpの「Kindle」があるが、日本語環境でKindleを楽しもうと思うと、Amazon自身が提供しているKindle端末か、iOSまたはAndroidデバイスにクライアントソフトウェアを導入する必要がある。Windows 8がリリースされてから間もなく2年が経過しようというのに、AmazonからはWindows用のクライアントソフトウェアが、Windowsデスクトップ向けにも、Modern UI向けにも提供されていないのだ(ちなみに英語版は提供されており、米国のAmazon.comで購入した電子書籍はそれで閲覧することができる)。
こうした例はほかにも多々あって、筆者が利用している電子書籍サービスでは、モータースポーツ関連の書籍を提供しているASB電子雑誌書店も、iOSとAndroid対応のビューワが提供されていない。ただ、Adobe Flash Playerに対応したWebブラウザを利用してWindowsやMac OSなどでも楽しむことができるのだが、iOSやAndroidのクライアントソフトウェアが持つ、ローカルに雑誌をキャッシュする機能(オフラインでも電子書籍を楽しむ機能)が利用できず、ネットワークが接続されている環境でしか利用できない。飛行機に乗っている時などに買った電子書籍を楽しめないのは、出張が多い筆者としては致命的なデメリットだ。
筆者としては、PCであるVAIO Duo 13を使っていようが、WindowsタブレットであるThinkPad 8を使っていようが、Androidスマートフォンを使っていようが、同じようにクラウドサービスを利用したいのだ。
GoogleならAndroidやChrome OS、MicrosoftならWindows、AppleならMac OSやiOSといった自社プラットフォームを優先するのは仕方がない面もある思うが、それでもクラウドサービスの普及を優先するなら自社プラットフォームだけでなく他社のプラットフォームをちゃんとサポートしてこそユーザーの信頼が得られるというものではないだろうか。ユーザーにとっては、サービスがプラットフォームに依存するのはプラットフォームベンダの都合以外の何ものでもなく、それこそ"最低のユーザー体験"と言っても良いので、ぜひこの状況は改善して欲しいと思う。
クラウドサービスを提供する企業には、ぜひとも全プラットフォームと言わないまでも、せめて主要な3つ(Android、Windows、iOS)はきちんとサポートするようにしてほしいと思う。ユーザーの立場から言わせてもらうなら“クラウドの前の平等”、これこそクラウドサービスを提供するベンダーには心掛けて欲しいと思うし、そうしたサービスこそユーザーとして評価していきたいと思う。
Google Playマーケットを標準で実装、タッチ対応も進んでいるBlueStacks
理想論はこの通りなのだが、そうした“クラウドの前の平等”が実現されていないのが現状だ。それはおかしいとはユーザーとして言い続けたいが、ないモノはないのだから、あるモノでなんとかしていくしかない。
そこで、筆者が愛用しているのが、「BlueStacks Android Apps Player」(長いので以下、BlueStacksと表記する)だ。仮想化ソフトウェアについて念のため簡単に説明しておくと、あるOS(ホストOSと呼ばれる)の上に仮想的なコンピュータ(マシン)を動作させ、その上で別のOS(ゲストOS)を利用できるようにするソフトウェアだ。Windows 8.1 ProならHyper-Vという仕組みが標準で用意されているほか、VMWareの「VMWare Workstation/Player」、Oracleの「VirtualBox」などがWindows(サーバーは除く)用の仮想化ソフトウェアとしては有名だ。
BlueStacksもそうした仮想化ソフトウェアの1つなのだが、ほかの汎用仮想化ソフトウェアとの大きな違いは、AndroidアプリをWindows上で動かすことに特化している点だ。実はこうしたAndroidに特化した仮想化ソフトウェアには、BlueStacks以外にも「Genymotion」(ジェイモーション)という、先述のVirtualBoxを活用したモノもある。ただ、両方ともにテストしてみた筆者の印象は、性能の観点ではGenymotionの方が優れているが、以下の点ではBlueStacksの方が便利と感じた。
(1) 標準でGoogleのサービスに対応している
(2) タッチでフルスクリーンを解除する手段が用意されている
(3) 画面の回転機能に対応している
(4) InstantGo環境でも問題なく動作する
すでに述べた通り、多くのユーザーがこうした仮想化ソフトウェアを入れたいと思うのは、“使いたいAndroidアプリ”があるからだろう。基本的にAndroidのアプリケーションはGoogle Playストアから導入する人がほとんどで、そこへアクセスできることの意味は大きい。“野良Android”とも呼ばれるGoogleに認定されていないデバイスではPlayストアは標準で導入することができないので、別途サードパーティが提供するストアを導入するか、APKファイルと呼ばれるパッケージファイルを手動でインストールする必要がある。GenymotionはGoogle Playストアの機能が実装されていないが、BlueStacksは標準でGoogle Playマーケットに対応しており、ユーザーのGoogleアカウントに紐付いているAndroidアプリをそのまま仮想マシン上で利用できる。
そして、(2)と(3)は繋がっているのだが、筆者が利用しているVAIO Duo 13や、Surface Pro 3などの2-in-1デバイスは、画面を回転させて利用できるし、タッチでも操作できる。Androidはタッチ操作が前提になっており、仮想化されたAndroidもタッチで利用したいところだ。Genymotionもタッチには対応しているのだが、フルスクリーンからウインドウモードへ切り替えるにはハードウェアキーボードでF11キーを押す必要がある。しかし、BlueStacksではAndroid側の通知領域にフルスクリーンとウインドウの切り替えボタンが用意されており、タッチだけでフルスクリーンとウインドウ表示を切り替えることができるのだ。言われれば何ともないことなのだが、これがあるとないで使い勝手の違いは非常に大きい。
そして、VAIO Duo 13もSurface Pro 3も「InstantGo」に対応しているのだが、実は一般的な仮想化ソフトウェアはこのInstantGoと相性が悪い。例えば、Windows 8.1 Proの標準機能である「Hyper-V」は、InstantGoをオフにしないとエラーになって利用できない。これに対して、BlueStacksは、InstantGoには悪影響を及ぼさない。実際、VAIO Duo 13で半年以上使っているが、InstantGo関連で問題は発生していない。
このような理由からVAIO Duo 13、Surface Pro 3などの2-in-1デバイスやWindowsタブレットなどに導入するのであれば、BlueStacksをお勧めしたい。
ホーム画面をインストールすると見慣れたAndroidの画面で利用できる
BlueStacksのAndroid App Playerをインストールするには、同社のWebサイトからダウンロードしてインストールする。インストールするには以下の要件を満たしている必要がある。
(1) 管理者権限を持つユーザーアカウントでログインしていること
(2) メインメモリが2GB以上あること
(3) ストレージに9GBの空き容量があること
(4) OpenGLのAPIに対応した十分な性能のGPUが搭載されていること
注意が必要なのは(4)だ。第2世代Coreプロセッサ(Sandy Bridge)以降のCoreプロセッサ、Llano/Trinity/Richland/KaveriなどのAMDのAPUはいずれも十分な性能を持ったGPUが内蔵されており、これらに最新のグラフィックスドライバが導入されている環境であれば特に問題なく利用することができる。問題なのは、GPUがIntel HD Graphicsではなくて、PowerVR 5シリーズなどのモバイル向けのGPUが内蔵されているAtomプロセッサだ。そうしたAtomでは、GPU性能が十分ではなく、Androidを実行するに必要なOpenGL ES 2.0をOpenGLへと変換しても十分な性能が得られないことがある。従って、IntelのプロセッサならCoreプロセッサまたはBay TrailコアのAtomが必要だと考えていればほぼ間違いないだろう。
インストールすると、見慣れたAndroidの画面とは異なり、「Gamepop」というランチャーとアプリストアが合体したようなホーム画面が被されたAndroidホーム画面が表示される。この状態でもアプリケーションランチャーやGoogle Playストアを利用してインストールできるのだが、やはりせっかくAndroidとして使うなら見慣れたホーム画面で使いたいところだろう。そういう人は、Google Playで配布されているホーム画面アプリをインストールしてしまえばいい。
導入するにはGamepopのホーム画面から、Google Playのアプリケーションを検索することができるので、ホーム画面を検索してインストールする。なお、Googleアカウントを登録する必要があるが、最新版ではGoogleの2段階認証を有効にしているとログインできないので、一時的に無効にする必要がある。
筆者は「ADWLauncher EX」(有料版)をインストールしているが、これの無料版になる「ADW.Launcher」や「LauncherPro」などが有名だ。好みに応じてインストールするといいだろう。それを導入すると、画面のようによく見慣れたAndroid画面になる。
原稿執筆時点(8月下旬)でのBlueStacksの最新版はRelease 0.8.12.3119(2014年7月10日)で、OSとしてAndroid 4.0.4がベースになっている。BlueStacksは将来的にこのAndroidのバージョンを上げていく予定であり、将来的にはAndroid 4.4(Kitkat)までバージョンアップしていくことを表明している。なお、このBlueStacksは基本的には無料だが、無料のまま使うにはBlueStacksが推薦するAndroidアプリを自分のスマートフォンなどにインストールする必要がある(同社はこのAndroid App Playerを無料で配布する代わりに、そうしたアプリベンダーのスポンサーを募って収益を上げる仕組みになっている)。
そのスポンサードアプリを自分のスマートフォンなどにインストールしたくないなら、プレミアムバージョンへのアップグレードするとその仕組みなしに利用することができる。プレミアムバージョンは年額24ドル(一括払い)で利用することができる。実際に使い出してしばらくたつと、スポンサードアプリをインストールするかプレミアムバージョンへバージョンアップするか聞かれるので、好きな方を選択するといいだろう(支払いにはクレジットカードが必要だ)。
実Android環境に性能は敵わないが、持って行くデバイスは減らせる
ちょっとした工夫としては、Windows側のレジストリを調整することで、Android仮想マシンに割り当てられるメモリ量、さらにはAndroid仮想マシンの解像度の設定を調整することができる。レジストリを調整するには「REGEDIT.EXE」というツールを利用する必要があるが、間違って調整すると最悪の場合にはWindowsが起動しなくなる場合があるので、挑戦する場合にはレジストリ変更のリスクなどを理解し、自己責任で行なうようにしたい。
具体的には以下のキーを16進数(10進数に切り換える事もできる)で調整する。
メモリ容量調整のキー
HKEY_LOCAL_MACHINE\SOFTWARE\BlueStacks\Guests\AndroidのMemory
解像度調整のキー
HKEY_LOCAL_MACHINE\SOFTWARE\BlueStacks\Guests\Android\FrameBuffer\0のHeight(縦)とWidth(横)
VAIO Duo 13であれば標準でメモリが795MB、解像度が1,600×900ドットに設定されていた。例えば、上記レジストリの「Memory」変更すると、850MBまで増やすことができる。ただ、それ以上、例えば1GBや2GBなどに設定したとしても、BlueStacksのAndroid仮想マシン側が認識できるのが850MBまでのようであるので、あまり大きくしても意味はない。
注意したのは解像度だ。特にBay TrailのAtom Z3770を搭載したThinkPad 8にインストールすると、縦と横の解像度が逆に設定されており、そのままだと縦にした時、Android仮想マシンが横に小さく表示され、上下に大きな黒帯が表示されるという状態になってしまう。これはWindowsタブレットが縦表示が標準であることをBlueStacksがきちんと認識できていないことが原因だと思われるが、そのままだと使い物にならないので、前出の解像度調整をレジストリで行なう。具体的には縦と横の値を入れ替えるだけよい。
ただ、Bay TrailのAtomを搭載したWindowsタブレットの場合、縦位置の表示はそれで問題ないのだが、タブレットを横位置にすると、全画面にしようとしても全画面にならず、タスクバーと左側にWindowsデスクトップが見えてしまう。また、横位置でしか表示できないアプリ(Androidの設定やGoogle Playマーケットなど)では、強制的に表示が横表示になってしまうので、そういう時はWindowsタブレットを横表示にして利用する必要がある。
使用感だが、筆者が使いたかった2つのアプリケーションのうちas-books.jpに関してはほぼ問題なく利用できている。Android仮想マシンを最大化し、VAIO Duo 13をタブレットモードにすれば、気分は13型Androidタブレットそのものだ。Kindleに関しては、書籍に関してはほぼ問題なく利用できているが、コミックスに関してはAndroid仮想マシンの解像度を上げると表示がかなり重くなり、かなり待たないと表示されないという状況だった。そこで、解像度を1,600×900ドットから1,280×720ドットのように若干下げてみると、それなりには表示されるようになった。
なお、そのままではまともに動かないソフトウェアもあった。例えばパズドラ(パズル&ドラゴンズ)は起動すらしなかったし、Chromeブラウザに関しても起動はできるがグラフィックス周りがおかしくまともに使えなかった(Android標準のブラウザは使えた)。このように、互換性に関してはまだまだ改良が必要であり、Androidを普通に使いたいと思うのであれば、Androidスマートフォンなどの実環境の方がはるかに快適に利用できると思う。BlueStacksのようなソリューションはあくまで、外出するときに持って行くモノを1つ減らしたい、300gのタブレットを持って行かなければ荷物を減らすことができる、そういうためのソリューションだと考えた方がいいだろう。
これにより、筆者は以前はクラムシェル型ノートPC(1.6kg)と、読書用に8型または7型のAndroidタブレット(300g)を持って行っていたのだが、今は仕事をする必要がある外出時にはBlueStacksをインストールしたVAIO Duo 13(1.3kg)を1台持って行けば事足りる状況になっている。読書するときにはクラムシェルモードまたはタブレットモードで、WindowsのアプリかBlueStacks上のAndroidアプリで読書をし、仕事をするときにはクラムシェルモードにして仕事をしている。Surface Pro 3でも同じような使い方が可能だと思うので、これからSurface Pro 3などの2-in-1デバイスの購入を検討しているユーザーであれば、ぜひ1度、BlueStacksを試してみるといいだろう。