前提・実現したいこと
LineSDKforUnityを使用してAndroid向けビルドをした際にエラーが発生し、指定の場所にAPKが出力されません。
通常のUnityビルドの様に指定した場所にAPKを出力できる様にしたいです。
発生している問題・エラーメッセージ
LineSDK開発チームの指定通りにAndroid向けビルドではGradleビルドを行うと以下のダイアログのタイミングで下記のエラーが発生しビルドが終了します。
Android PostProcess task "Creating staging area" took 2.0143 ms Android PostProcess task "Generating Build Id" took 0.8748 ms Android PostProcess task "Preparing Unity resources" took 4.1671 ms Android PostProcess task "Splitting assets" took 2.7109 ms Android PostProcess task "Processing OBB assets" took 0.0616 ms Android PostProcess task "Preparing Unity libraries" took 43.1714 ms Android PostProcess task "Processing resources" took 0.9529 ms Android PostProcess task "Preparing APK resources" took 16.3737 ms Android PostProcess task "Processing plugins" took 36.5541 ms Android PostProcess task "Processing Android libraries" took 11.2969 ms Android PostProcess task "Creating Android manifest" took 507.5092 ms Android PostProcess task "Compiling resources" took 1.5055 ms Android PostProcess task "IL2CPP" took 0.2985 ms Android PostProcess task "Build native Unity binary" took 0.0829 ms Android PostProcess task "Zipping symbols" took 0.2359 ms Android PostProcess task "Performance Reporting Symbol Upload" took 302.759 ms Android PostProcess task "Preparing streaming assets" took 1.3043 ms Android PostProcess task "fastzip" took 0.0646 ms Android PostProcess task "AAPT: Compiling all assets into one archive" took 0.1993 ms FileNotFoundException: Temp\gradleOut\build\outputs\apk\gradleOut-debug.apk does not exist at System.IO.File.Move (System.String sourceFileName, System.String destFileName) [0x000bd] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/File.cs:318 at UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) [0x00000] in <filename unknown>:0 at UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) [0x00000] in <filename unknown>:0 at UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) [0x00000] in <filename unknown>:0 at UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args) [0x00000] in <filename unknown>:0 at UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) [0x000d7] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:272 UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, Boolean) UnityEditor.DefaultBuildMethods:BuildPlayer(BuildPlayerOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:164) UnityEditor.BuildPlayerWindow:CallBuildMethods(Boolean, BuildOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:88) UnityEditor.BuildPlayerWindow:GUIBuildButtons(IBuildWindowExtension, Boolean, Boolean, Boolean, BuildPlatform) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:881) UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:812) UnityEditor.BuildPlayerWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:426) System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222) System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115) UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:295) UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:288) UnityEditor.HostView:OldOnGUI() (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:107) UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:182) UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:338) UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent(EventBase) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:322) UnityEngine.Experimental.UIElements.EventDispatcher:DispatchEvent(EventBase, IPanel) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\EventDispatcher.cs:250) UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:256) UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:78) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUIUtility.cs:175)
出力されたエラーに
FileNotFoundException: Temp\gradleOut\build\outputs\apk\gradleOut-debug.apk does not exist at System.IO.File.Move (System.String sourceFileName, System.String destFileName) [0x000bd] in
と表示されていますが、APKファイル自体は作成され存在しています。
試したこと
・LineSDKforUnity側が指定しているGradleのバージョンが4.6以降だったので、Unity2017.4.2f2に付属しているGradleのバージョンを4.0.1から4.6に差し替えました。
・KeyStoreの設定が必要というフォーラムも見つけたので、開発用のキーストアを作成しました。
・BuildSystemをGradleではなくInternalでビルドした場合は正しくAPKが出力されますが、実機側でGsonやKotlinが無い等のエラーが発生します。(LineSDKforUnityで用意しているGradleでビルドしなかった為、プラグインが導入されないままAPKが作成されている様です)
補足情報(FW/ツールのバージョンなど)
・Unity 2017.4.2f2
・LineSDKforUnity 1.0.0
・Gradle 4.6
・AndroidSDK APILevel.24
・AndroidNDK r13b
・JDK 1.8.0_212(8u212)
・対象端末:Android7.0
追記
Unity2017.4.18f1のリリースノートにて、こちらの不具合が修正されていることがわかりました。
Android: Fixed Android Gradle manifest merging when plugins are missing SDK target version in manifest. (1084622, 1090922)
UnityのPlayerSettings>OthreSettings>TargetAPILeveの設定をAutomaticにしている場合、AndroidSDKをAPILevel16~27までインストールするか、UnityのバージョンをUntiy2017.4.18f1以降にアップデートする必要がありそうです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/14 06:10
2019/05/14 06:17
2019/05/14 08:17