ビルドができなくなった時の解決方法
Unity 2019.3.0f3
作成したアプリはAndroid 向け
子供向けアプリの9割が完成し、GooglePlayへのリリース用にビルドしようとしたある日、Unityのコンソールに恐怖のメッセージが出た。
1 exceptio was raised by workers: See the Console for detalis.
「ビルドに失敗したからコンソールを確認してね」との事。
ふむふむっと、コンソールを確認する私。
コンソールには“138個のエラーによりビルドできません” と表示されている。
昨日までは普通にビルドできていたのに・・・
あまりの衝撃に停止する思考。こんな致命的なエラーは初めての経験だった。コンソールに表示されるエラーをポチポチ眺めてみるが、具体的なエラーを特定できない。
・・・FUCK。万事休す。絶対絶命。
なんだか良くわからないけど明日には直ってるだろ。はは・・。
そんな感じで、私は寝ることにした・・・
翌日。やっぱりエラーのままでした。
つまり、再起動しても無駄。
まずは結論
皆さん忙しいと思うので、今回の解決方法を結論から言うとUnityのプロジェクトをエクスポートして、Android Studioからビルドすると上手くいきました。
「なんだそんな事かよ!」と思った方はソッとブラウザを閉じてください。
それでは解説していきます。
エラー内容を見ていくことに
腹を括ってエラー内容を一つずつ見ていくことにしました。
エラーの中で原因を特定できそうなものがコチラ。
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Files\Unity\2019.3.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
package.xml. Probably the SDK is read-only
android.bundle.enableUncompressedNativeLibs=false' is experimental and unsupported.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
英語で表示された138個のエラーをGoogle翻訳で一つずつ和訳するという地獄の行進を行った結果、なんとなくわかったことが二つ。
- AndroidをビルドするためのSDKが読み取り専用?
- Gradleってのが関係してる
まずはSDKを入れ直ししてみましたがエラーは解消せず。ってことはGradleが原因か。
Gradleとは何か?
Unityでビルドした時に進捗ゲージが止まるのがGradleの部分です。Building Gradle project を完了できずにエラーを吐き出す感じでした。
そもそもGradleって何なの?グラドル?巨乳なの?ってことでGradleを調べました。
Gradleは、いくつかのビルドプロセスを自動化し、多くの一般的なビルドエラーを防止するAndroidビルドシステムです。
Unityマニュアルより引用
UnityはすべてのAndroidビルドにGradleを使用します。Unityで出力パッケージ(.apk、.aab)をビルドするか、UnityからGradleプロジェクトをエクスポートしてから、Android Studioなどの外部ツールでビルドできます。
Unityマニュアルより引用
Android Studio でビルドしてみる
【Unity2019対応】Androidビルドでエラーが出る場合の対処法
こちらのサイトのUnity2019を参考に、UnityのデータをエクスポートしてAndroidStudioでビルドする方法を試してみる。
まずはUnityからエクスポート
エクスポートの仕方は、Unityでビルドする時に「プロジェクトをエクスポート」にチェックを入れるとエクスポートできます。
出力先は自分で忘れないところに出力してください。
Android Studioでビルドしていく
UnityからエクスポートしたファイルをAndroid Studioでビルドしていきます。
- Android Studioを起動する(持ってない人はダウンロードしてください。無料でダウンロードできます。)
- エクスポートしたプロジェクトを開く( File → Open )
- ツールバーの Build から Generate Signed Bundle / APK を選ぶ
注意)私の場合は、ファイルを開いた段階で Gradle の更新を求められたので更新を行っております。
リリース用にビルドするので、今回は「Android App Bundle」でビルドしていきます。
Store用のキーを作成します。すでに公開していてKeyがある場合は「Choose existing…」を選択してください。今回は新規にKeyを作成しますので Create new… を選択します。
Keyについて情報を入力していきます。Validity (years) は50年にしておきます。
Certificate は自分の情報を入力しましょう。完了したらOKを選択。
それぞれパスワードを入力して Next を選択します。
今回はリリース用にビルドしたいので release を選択します。そして Finish !
無事にビルドできました。
エラーと戦うこと二週間、私はこのデータでGoogle Playにリリースできました。
ではまた!
コメント