コンテンツにスキップ
Zenn Dev Unsoluble Sugar Articles F13714fe999f54

Unity 6でFacebook SDK導入後、Androidビルドがフリーズした原因とEDM4U運用の注意点

  • URL: https://zenn.dev/unsoluble_sugar/articles/f13714fe999f54
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: Unity 6にFacebook SDK 18.0.0を導入後、Androidビルドがフリーズした問題の原因特定と対処をまとめた記事。表面的なエラーメッセージ「Java Runtimeが見つからない」はミスリーディングであり、実際の原因はFacebook SDK同梱の古いEDM4U(v1.2.166)が使用するGradle 5.1.1がUnity 6のJava 17環境で初期化に失敗していたことと分かった。解決策はSDKに同梱されたEDM4Uを削除し、プロジェクト側で最新版(v1.2.186)を一元管理することで、複数SDK導入時のEDM4U競合を防ぐベストプラクティスが示されている。

詳細

Unity 6(6000.0.62f1)+ Facebook SDK 18.0.0導入後のAndroidビルドフリーズ問題の原因分析と解決策。macOS Sequoia 15.6.1環境。

  • 初期エラー「Unable to locate a Java Runtime」はミスリーディング。実際の原因はEDM4UのGradle/Groovy初期化失敗
  • Examplesフォルダ削除でログが変化し、java.lang.NoClassDefFoundError(org.codehaus.groovy.vmplugin.v7.Java7)が顕在化して真因が判明
  • バージョン構成の問題点:Unity 6はJava 17(OpenJDK 17)を使用するが、Facebook SDK 18.0.0同梱のEDM4U v1.2.166が内部で使うGradle 5.1.1はJava 17非対応(Gradle 7.3以降が必要)
  • 注意:v1.2.186(2025年5月)やv1.2.187(2026年1月)でもGradle Wrapperは5.1.1のままで根本解決していない
  • 対処:Facebook SDK同梱EDM4U/PlayServicesResolverを削除、最新版EDM4U v1.2.186をプロジェクト側で一元管理してForce Resolve
  • 複数SDK導入時のベストプラクティス:各SDKのバンドルEDM4Uは使わず、ThirdParty/ExternalDependencyManager/に最新版1本を置いて全SDK共通で参照する