ヘケケの模索生活

ゲーム関係のことを書いています。ストラテジーやシミュレーション系のゲームが好きなのでそういったゲームの記事が中心です。unityを使ったアプリ開発や一人海外旅行をした時のこともたまに書いたりします。

【Unity】AndroidのIL2CPPビルドをしようとしたらエラーが出た話

先日、初めてGoogle Playの方でアプリをリリースしましたが、

2019年の8月から64bit対応してない新規アプリは公開出来なくなるそうです。

 

そして、2021年の8月からは64bit対応していないアプリは排除されるそうで、

そんなことは全く知らなかった私は32bitでアプリを作っていました。

(32bitで作っていたということも、この時初めて知りましたw)

 

64bitに対応させようと調べた結果、

Project Setting の Other Settings -> Configuration以下

Scripting Backend を IL2CPP に変更、

Target Architectures の ARM64 にチェックを入れる

上記の対応で64bit対応できることが分かりました。

 

f:id:hekeke999:20190521035435p:plain

 

それでこの設定でビルドしてみましたが、下記のようなエラーが出てきました。

Failed running C:\Program File\ ○○○\ il2cpp.exe

Exception: C:\Program File\ ○○○\ il2cpp.exe did not run properly!

 

 

このエラーは、プロジェクトフォルダに日本語が入っていたり、

「#if UNITY_ANDROID」のようなプラットフォーム依存コンパイル関係の部分で発生することがあるようですが、

私の場合はどちらも問題なく、結局原因はわかりませんでした。

 

しかし、ビルドが通らないとアプリがリリース出来ないので、いろいろ試した結果、

 

Target Architectures の x86 (deprecated)チェックを外す

 

ことでビルドを通すことができました。

x86Intel系のプラットフォームで使われているらしいです。

現状、スマホではIntel系のものはあまり普及していないと聞いたので、

今回は妥協してx86は外しました。

 

ちなみにx86のチェックを外すとWindowsPC上の仮想デバイスではアプリが動かなくなります。

実機では問題なく動いていたのでOKとしましたが、この対応はどうしてもIL2CPPビルドを通したい場合の最終手段と考えた方がよさそうです。

(今回の環境 Unity 2019.3.0a2)