Genymotionにアプリを転送しようとすると「INSTALL_FAILED_CPU_ABI_INCOMPATIBLE」エラー → 解決

Androidアプリ開発に少しずつ慣れてきた @kadoppe です、こんばんは。

とはいえ、まだまだトラブル続き。アプリの動作確認にGenymotionを使っているのですが、開発中のアプリ(.apkファイル)をVMに転送しようとすると、以下のエラーが発生するようになってしまいました。

心当たりはいくつかあって、ひとつめは「Android標準のWebViewの代わりにChromeViewを使ってみた」で紹介したChromeViewを導入したこと。もうひとつは、つい最近Genymotionのバージョンをアップデートしたこと。

この2つの心当たりを手がかりに調べてみたところ、解決方法が書かれている以下のページを見つけました。

[GUIDE] Genymotion | Installing ARM Translation and GApps[Updated Nov.16] – xda-developers

どうやら原因は、Genymotionのアップデートによって、ARMアーキテクチャ用のコードをx86アーキテクチャ用に変換する「ARM Translation」という機能が削除されてしまったことにあるようです。ChromeViewの導入に伴い、アプリにchromiumのバイナリ(ARMアーキテクチャ用)が含まれるようになったことも重なり、アプリが転送できなくなってたんですね。

上記ページに解決方法が書かれていますが、今回の問題を解決するための必要最低限の方法をここでも紹介しておきますね。

  1. 以下のURLから「ARM Translation Installer」をダウンロードする。
    https://dl.dropboxusercontent.com/u/14700716/XDA-Shares/Genymotion-ARM-Translation_v1.1.zip
  2. GenymotionのVMを起動する。
  3. ダウンロードしたファイルをVMの画面にドラッグアンドドロップする。
  4. しばらくするとダイアログが表示されるので「OK」を選択する。
  5. インストールが完了したらVMを再起動する。

僕は普段Android Studioを使ってAndroidアプリを開発しているのですが、上記の作業後はしっかりAndroid Studioから開発中のアプリをGenymotionに転送できるようになってました。

諦めて、Android Emulatorを使って動作確認することも覚悟してましたが、やっぱりサクサク動くGenymotionがいいですね!めでたしめでたし。