UnityでAndroidをビルドするとき、たまにエラーが出ませんか?
iOSは問題なかったのに、Androidでエラーになるってあるあるですよね。
他の方はどうなのか分からないんですが、僕にとってはあるあるなんですよ。
こないだもこんなメッセージが出て、見事ビルドエラーになりました。
il2cpp.exe did not run properly
んで、これは僕の場合の話なんですけど、Androidでビルドが通らないときって、ほぼ100%SDKが悪さをしてるんですよね。
SDKって呼ぶのか分かりませんけど、こういうファイルあるじゃないですか。
主にアドモブで有名なこれですよ。SDKって名称が正しいのか分かりませんが、このまま続けましょう。
Androidが通らなかったとき、僕が真っ先に疑うのはこれです。
Consoleにエラーログが出ますけど、これは読んでもワケワカメなので、とりあえずSDKを尋問にかけるわけです。
有名どころで言えば、AdmobとSocialConnectorの競合がありますよね。
SocialConnectorのサイトにも書いてあるんですけど、support-core-utils-25.3.1.aarってファイルが原因で、ビルドが通らないことがあるんですよ。
もし、何かしらのエラーが起きた場合 support-core-utils-25.3.1.aar を削除してみてください。ライブラリの競合が解決し、ビルドが通るかもしれません。
AdmobとSocialConnectorと言えば、Unity3種の神器のうちの2つですから、このエラーはあるあるですよね(残る1つは知りません)
こんな風にSDK同士が悪さをするので、僕はいつもAndroidのビルドが通らないときは、SDKを順にチェックしています。
具体的には空のプロジェクトを立ち上げて、そこに今現在エラーで悩んでるアプリと同じSDKを入れてみるんですよ。
すると基本的には同じエラーが出るので、あとは1つずつ消しながら確かめています。
既存のプロジェクトで確かめてもいいんですけど、SDK消すテストは気持ち悪いから嫌なんですよね。
えー、まあそんなわけで、UnityでAndroidがビルドエラーになったときはSDKを片っ端から尋問にかけてるって話でした。
他の方々の事情は知らないですけど、僕はいつもこんな感じなんですよね。
P.S.
そだそだ。書き忘れてました。このときはUniTwitterが原因でビルドが通らなかったみたいです。
いつもはSocialConnector使ってるんですけど、Appleの審査でSocialConnector押した先の「画像を保存」ボタン押すとアプリが落ちるぞって言われて、UniTwitterに差し替えてたんですよ。
んで、ほとぼりが冷めたんで、再度SocialConnectorにしてたんですが、何かの原因でUniTwitterが引っかかるようになってたみたいです。
(画像を保存ボタンで落ちるのは相変わらずです。。)
原因となってるSDKを特定出来ても削除出来ない場合がほとんどだとは思いますが、このときは削除出来るシチュエーションだったので、削除させていただきました。UniTwitter作ってくださった方には申し訳ないんですけどねw
たいがいはSDKの中にあるAndroid関係の「何か」が原因になってると思います。
どこまでいってもザックリとした話なんですが、僕のビルドエラー対応はいつもザックリなんですよ。。