Unity
AndroidSDK
OculusGo

UnityのAndroid Build&Runができなくなったら考えること。

過去の遺産を当たってみる。

Android Buildができなくなった際の対処方法の記事はいくつかあるので、まずはここを当たってみる。

おもちゃラボ さんの
【Unity2018対応】Androidビルドでエラーが出る場合の対処法
http://nn-hokuson.hatenablog.com/entry/2017/09/05/202327

naichi's lab さんの
【Unity、Android】最新のAndroidStudio入れたらUnable to list target platforms.が出て困った
https://blog.naichilab.com/entry/unable-to-list-target-platforms

@niusounds さんの
UnityのAndroidビルドができなくなった時の対処法
https://qiita.com/niusounds/items/bcbeee622b2114b4016e

私の場合は、これらでは解決しないレアケース?!でした。そして、意外なオチでした。

Target Architecturesの設定

Build&Runをした際に以下のようなエラーメッセージが出るようになりました。
あれ?こんなの見たことない。。。。

unity_error.PNG

Android SDK周りが悪さしているのだろうと、上記の記事を参考に対処しても状況変わらず。。

そこで、より詳細なエラーメッセージを確認できるため。
いったん、UnityでBuildしものを、コマンドプロンプトでinstall(UnityのRunの操作)をすることに。

> adb install -r C:\Users\xxxxx\Documents\apk\xxxxx.apk
> adb: failed to install C:\Users\xxxxx\Documents\apk\xxxxx.apk: 
Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

ABIとは、
Application Binary Interface(アプリケーション・バイナリー・インタフェース、ABI)とは、アプリケーション(ユーザ)プログラムとシステム(OSやライブラリ)との間の、バイナリレベルのインタフェースである。(Wikipedia)

Failure [INSTALL_FAILED_NO_MATCHING_ABIS というエラーメッセージで検索したところ、以下の記事が引っ掛かりました。
https://stackoverflow.com/questions/24572052/install-failed-no-matching-abis-when-install-apk

「INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and it doesn't have a native library for your cpu architecture. For example if you compiled an app for armv7 and are trying to install it on an emulator that uses the Intel architecture instead it will not work.」

「ARMのCPU向けとIntelのCPU向けに両方Buildできるんだけど、それがmatchしてないぞ!」

ということらしい。

そんな設定あったかなーと探してみたら、

TargetArchtecture.PNG

ここにチェックを入れると、正常にBuild&Runできるようになりました。

他の操作をしている際に誤ってクリックしてしまったのでしょう。汗
思いもよらぬ原因でしたが、動くようになってなによりです。