Unity製Androidアプリをインストールする時に「USBストレージまたはSDカードにインストールできませんでした」というエラーが出た話

f:id:takashicompany:20150129214744j:plain

Unityで作ったAndroidのアプリで
「USBストレージまたはSDカードにインストールできませんでした」 というエラーが一部端末で出た時の話。

  • しばらく待ってもらう
  • 再起動してもらう
  • Google Playアプリのキャッシュクリアをしてもらう

といったことをユーザーに行ってもらって解決できることもあるみたいだが、それでも一部端末ではインストールできないままだったことがあった。

解決策

いろいろと調べたところ、
Unity4.6からAndroidビルド設定のDevice FilterFAT(ARMv7 + x86)がデフォルトで設定されるようになっていたためだった。
一部の端末でFAT(ARMv7 + x86)の設定のビルドが上手くインストールできないようだった。

今回、事例が出たアプリはUnityのバージョンを4.5から4.6に引き上げていたものだった。
Unity4.5では、ARMv7しか選択できなかったが、Unity4.6からはFAT(ARMv7 + x86)ARMv7x86が選択できるようになっている。
Unity4.5でARMv7を設定していても、Unity4.6にバージョンアップすると、FAT(ARMv7 + x86)が適用されてしまうようになっていた。

詳しくは、Unity 4.6で出力したAndroidアプリのサイズが以前のバージョンより大きい場合の対処法 - テラシュールブログ に書いてあります。

Device FilterFAT(ARMv7 + x86)からARMv7にしたら、エラーが出ずに無事にインストールできるようになった。