最近、久しぶりに数日間ビルドエラー?的な問題に遭遇してしまい、だいぶ精神的にも肉体的にも疲弊した事があったので、今後の為にメモとして残しておきたいと思います。
IL2CPPビルドが終わらない...
現状としては、上記のようなビルド中の画面のまま、2〜30分経過してもビルドが終わらないという状況です。
環境としては以下です。
・Unity 2019.4.13f1
・mac OS Big Sur
・広告SDK・Firebase導入済み・アプリ内課金導入済み
状況としては、
・apkのビルドでは成功する
・aabビルドで上記の状態になる
・広告SDK、Firebase、アプリ内課金を削除してビルドしても状況は変わらない
・他のプロジェクトはIL2CPPビルド成功するが、特定のプロジェクトで固まる
試したこと
以下を試しました。
・mac OSを最新版(13.0)にアップデート
・Unityバージョンを2021.3.11fに変更
・Firebase・広告SDKの削除入れ直し
・Androidライブラリの削除→Force Resolved
・PCの再起動・Unityの再起動・ReImport All
最終的にビルド成功した
色々と原因と思われる箇所を潰していった結果、最終的に以下の対応で解決に至りました。
・csファイルの文字コードの見直し
・配列のデータサイズが大きかったので分割した
・staticな配列が多くあったので、staticである必要のないものを変更した
色々と変更しながら試していたので、どれが根本的な原因だったのかわかりませんが、おそらく一番可能性として高いのは文字コードです。
csファイル内にゲーム内で使用する問題データをコピーしていたのですが、そのデータのせいでファイルの文字コードがおかしくなっていたようで、以下のようなエラーが出てました。
There are inconsistent line endings in the 'Assets/Scripts...' script. Some are Mac OS X (UNIX) and some are Windows.
This might lead to incorrect line numbers in stacktraces and compiler errors. Many text editors can fix this using Convert Line Endings menu commands.
UnityEditor.AssetDatabase:Refresh ()
なので該当ファイルの文字コードを以下を参考に変更しました。
とりあえず、解決できてよかったです。
今まで文字コードは疑ってこなかったので、いい勉強になりました。
あと、PCのメモリ不足で固まっているのかと思って、アクティビティモニターをチェックしたりしました。pc側の問題の可能性もあったのですが、とりあえずプログラム側の問題だったのでまだpcが現役で使えそうなのはよかったです。
途中、kernel_taskが暴走した時があったのですが、以下を参考にしました。
とりあえず、今日のところは以上になります。
お知らせ
ミステリー推理ゲーム「リアル捜査ゲーム」を最近リリースしました!
もしよろしければダウンロードお願い致します!