過去の遺産を当たってみる。
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をした際に以下のようなエラーメッセージが出るようになりました。
あれ?こんなの見たことない。。。。
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してないぞ!」
ということらしい。
そんな設定あったかなーと探してみたら、
ここにチェックを入れると、正常にBuild&Runできるようになりました。
他の操作をしている際に誤ってクリックしてしまったのでしょう。汗
思いもよらぬ原因でしたが、動くようになってなによりです。