Crosswalkで作ったらAPKファイルはARMとx86の両方を公開しよう
Crosswalkを使用してる時は、ARM版とx86版の両方をビルドしなければなりません。 片方のみを公開したときは端末によってはCrosswalkを正常に動作させることができず、「Crosswalk Project Service Not Found ... requires the Crosswalk Project Service to work. Please install it from the app store, then restart ...」といったCrosswalkのインストールを促されるダイアログが表示されます。
因みに上の画像にある「鬼女まとめリーダー」というのは私が作成したアプリ名ですので、この部分はアプリ名が表示されると考えてください。
Crosswalkとは
まず、CrosswalkとはIntelが提供しているchromiumベースのブラウザエンジンのことです。 ハイブリッドアプリではOSごとのwebViewを使ってアプリを動作させているため、OSごとのwebViewによって挙動が違っていたりします。 Crosswalkを内包してアプリをビルドすることにより、OSごとの挙動の差をなくすことができます。 メリットとして、OSごとの挙動の差をなくすという点の他に「最新のAPIが利用できる」「最新のWebViewを使えるためパフォーマンスが向上する」という点があります。 逆にデメリットとしては「アプリのファイルサイズが増える」「Android 5.0以降はwebViewが更新されるためCrossWalkのwebViewの方が古くなる可能性がある」という点があります。
Crosswalkを使ったアプリをビルドする(monaca)
monacaでビルドするときに、ARMとx86を選択する箇所がありますが、対応端末の多さでいうと、ARMを選択しておけば大抵は問題ありません。
ただし、x86対応端末の場合はARMのAPKをインストールすると「Crosswalk Project Service Not Found ... requires the Crosswalk Project Service to work. Please install it from the app store, then restart ...」といったCrosswalkのインストールを促されるダイアログが表示されてしまいます。
その場合、Google play store からCrosswalkアプリをインストールしてもらえれば、アプリが使えるようになります。 流石にユーザーにその手間をかけさせるわけにはいきません。 ですので、ビルドする時にはARMとx86の2つをビルドし、ストアに2つをアップロードしておくのがベターです。
ARMとx86をストアにアップロード
まずは、Google Play Developer Consoleにて、APKをアップロードするページで、「シンプルモード」と「アドバンスモード」を切り替えるボタンがありますので「アドバンスモード」に設定します。 「アドバンスモード」にすると、APKファイルを複数アップロードすることが可能になりますので、「製品版に新しい APK をアップロード」ボタンからARMとx86のAPKファイルをアップロードします。
これで、更新を送信すれば、Google Play Storeに反映され、端末に適したAPKがぞれぞれインストールできるようになります。