[Flutter x Unity] Execution failed for task ':unityLibrary:BuildIl2CppTask'.エラーを解消したい。[未解決]
16:00
いつも通りFlutterUnityWidgetを使ったプロジェクトをAndroidでビルドしようとしたら、こんなエラーが出た。
* What went wrong:
Execution failed for task ':unityLibrary:BuildIl2CppTask'.
> NDK is not installed
ここでみんなが言ってること全部試してみたけど、解消しない。
https://github.com/juicycleff/flutter-unity-view-widget/issues/440
NDKもしっかり"/Applications/Unity/Hub/Editor/2022.2.0b11/PlaybackEngines/AndroidPlayer/NDK"にある。
色々やっていたら、エラー文が足されていた。
[CXX1100] Both android.ndkPath and ndk.dir in local.properties are set
android {
ndkPath "/Applications/Unity/Hub/Editor/2022.2.0b11/PlaybackEngines/AndroidPlayer/NDK"
のndkPathの行を消去してみた。
flutter run
結構時間かかって、行けるかと思ったけどやっぱりエラーだった。
20:00
エラーが変わっている
Execution failed for task ':unityLibrary:BuildIl2CppTask'.
> Process 'command '/Users/tenna/Desktop/project/android/unityLibrary/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp'' finished with non-zero exit value 4
上記やってみたが、同じエラー。。
Execution failed for task ':unityLibrary:BuildIl2CppTask'.
> Process 'command '/Users/tenna/Desktop/project/android/unityLibrary/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp'' finished with non-zero exit value 4
これやってみた。
エラー変わらず。
みんなこれで解決してるのに!!
これやってみた。
エラー出なくなった!!!
20:29
しかし、LaunchScreenを表示した後、
Lost connection to device.
とか言ってクラッシュしやがる。
その前にログがめちゃ出てる。
...
#134 pc 00000000000c0ce8 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120) (BuildId: adaff87eb38d1f1656cbc504539d7ceb)
#135 pc 00000000000cd444 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+852) (BuildId: adaff87eb38d1f1656cbc504539d7ceb)
#136 pc 0000000000002574 /system/bin/app_process64 (main+1300) (BuildId: 2b60f9748c99330a43e8a5f1f84b8bcc)
#137 pc 0000000000084d70 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: 223ef8d5f0fe5d949ebf7e38286d3677)
Lost connection to device.
ググっても何も出てこないので、flutter run -vしてみる。
特に有益な情報は出てこなかった。
ChatGPTに聞いてみたけど、詳細はわからないとのこと。
試しにiOSにflutter runしてみた。するとなんと。。
Could not build the precompiled application for the device.
できない!じゃあ原因はAndroidじゃなくてUnityかFlutter?
control + c が効かなくなったので、一旦Visual Studioを閉じて、
効果ないだろうがFlutter Export。
時間かかるなーと思ってたら、Unityが「応答なし」になってた。
Unityを強制終了して、またFlutter Export。
Flutter Export iOSめちゃ時間かかる。。と思ったらBuild Failedになった。
iOSは置いとくとして、
今度はAndroidにflutter run。
Lost connection to device.
🙃
だよね。
どうしろっちゅうねん。
Export Android (Debug)がだめ?
Export Android (Release)でやってみた。
21:14
やっぱLost connection to device.になる。
関係ないだろうけど、flutterコード内のUnityWidgetを消してみる。
クラッシュ起こらなくなった!
UnityWidgetを表示するときに起こるっぽい。
GitHubのissuesに挙げてみた。
Warningだから気にしてなかったんだけど、Unityコンソールにこんなのが出てる。
Script attached to 'OVRPlatformToolSettings' in scene '' is missing or no valid script is attached.
UnityEditor.BuildPipeline:BuildPlayer (UnityEditor.BuildPlayerOptions)
…
Script attached to 'URP-Performant-Renderer' in scene '' is missing or no valid script is attached.
UnityEditor.BuildPipeline:BuildPlayer (UnityEditor.BuildPlayerOptions)
特にわからなかった。
minimum deploymentなどを変えてみるも、効果なし。
Export Androidするたびにbuild.gradle変更するの面倒すぎるのと、多分間違ってるのでbuild.gradleへ変更しないでできる方法を模索したい。
21:51
ということでこのエラーに戻ってきた。
Execution failed for task ':unityLibrary:BuildIl2CppTask'.
Process 'command '/Users/tenna/Desktop/project/android/unityLibrary/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp'' finished with non-zero exit value 4
IL2CPPがうまくいってないんだね。
UnityのScripting BackgroundをIL2CPPからMonoに変えてみたけど、Export Androidでエラー。諦め。
遠い昔にIL2CPPで悩んだ記憶があるんだけど、なんだったかな。。ログを残してないからわからない。。
22:00
何も進んでないけど残りは明日。