誰もが通る?Unityのビルドエラー奮闘記!
初Unityのゲーム制作も佳境で、リリースの準備。実機テストのエラーを乗り越え、修正し、いよいよ最後の工程、Google Playに提出するaabファイルへのビルド。
が、今までと同様、当然のようにエラーがでて失敗。Unityはエラー出るのが当たり前なのはよくわかったので驚かないにしても、しかも過去最大レベルの5つもの長文エラーが出てなかなか投げ出しそうになります。
いま対応真っ最中なので、ひとつひとつ生中継的にここに書きながらビルドエラーと戦う記録です。
どうやら多くの人が通るらしいビルド時のエラー。
エラーが出た時にやることはひとつ。
「たすけてドラえもーーん!!!」
と、エラーコードをChatGPTさんに入力します。
非プログラマーなので単語もよくわからないし、なんでJavaが関係してくるのかもよくわからない状態で、このあともいろいろ聞いて教えてもらったところ、
・AndroidはJavaで動いている
・なので、Javaのバージョンを合わせないとだめ
・今回ゲームを作ったUnityのバージョンは2ヶ月間前のLTS推奨バージョンのUnity 2021.3.15f
・このバージョンが持つJavaがJava8。
・Googleが現在アプリに求めている要求しているAPIレベル31を満たそうとするとJava11が必要
というようなことを教えてくれました。ChatGPTが言うことなので真偽のほどは定かではありませんが、
Unityの推奨バージョンと、Androidの要求バージョンがアンマッチというワナは非プログラマーには難易度高すぎます!Unityの推奨LTSバージョン、なにせ「2021.3.XX」ですから、たしかに古そうですよね・・・。Unityさん、頑張ってください。
Unityはやはりプログラミング好きな人が使うツール、って感じですね。
ここからの対応ですが、いろいろ調べるとUnityのバージョンアップが正方法に見えます。今作ってるゲームをUnityの新バージョンにコンバートすることになりますが、果たしてどうなるか・・・
↑上記までが5月20日夜の状況。
↓以降5月21日夜の対応状況。
しかしその後調べてみると、Unityで公式にサポートしているのはJava8が基本で、java11対応となると2022とか、かなり新しいバージョンになってくるのだとか。公式バージョンでサポートされないとなると、Java11を入れるのもどうか・・・他の手はないのか・・・
ということで、改めてエラーが出ているConoleの右上のメニューから「Open Editor Log」を開き、重要なエラーはこの大量のドキュメントの中の「* What went wrong:」という文言の続きに出ているというのでそのワードを検索。
この下に書かれている内容、ファイルパス等書いてあるので全文ははしょりますが下記のようなエラーログ。
* What went wrong: Execution failed for task ':launcher:minifyReleaseWithProguard'.
(略)
(Can't process class [com/google/unity/ads/AdNetworkExtras.class] (Unsupported version number [55.0] (maximum 54.0, Java 10)))
これをそのままGoogleさんに貼り付けます。ここはChatGPTさんだと、普通にJavaをJava11に上げて、と出たのがこの記事冒頭の話。
そうではなく、Google検索にそのまま貼り付けました。
すると、こちらのページがヒットし、このページに書かれている部分にチェック入れるだけで無事にaabファイル出力できました。なんてこと・・・。世の中、簡単な問題解決策を見つけているすごい方がいるものだ・・・
というわけでaabファイルが出力できたので次のステップに進んでみます!またすぐつまづくのは知ってるんだ・・・