问题描述
编译apk时,报错
CommandInvokationFailure: Gradle build failed.
D:/programfile/Java/jdk1.8.0_131\bin\java.exe -classpath "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.0.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"
stderr[
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'gradleOut'.
> Could not resolve all dependencies for configuration ':_debugApk'.
> A problem occurred configuring project ':unity-android-resources'.
> Could not resolve all files for configuration ':unity-android-resources:classpath'.
> Could not resolve com.android.tools.build:gradle:2.3.0.
Required by:
project :unity-android-resources
> Could not resolve com.android.tools.build:gradle:2.3.0.
> Could not get resource 'https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.0/gradle-2.3.0.pom'.
> Could not HEAD 'https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.0/gradle-2.3.0.pom'.
> Connect to repo1.maven.org:443 [repo1.maven.org/151.101.196.209] failed: Connection timed out: connect
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED in 23s
]
stdout[
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to D:\programfile\android-sdkforunity2017\ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <85d6d953c1ec46f68a996e6a681b2be9>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <85d6d953c1ec46f68a996e6a681b2be9>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <85d6d953c1ec46f68a996e6a681b2be9>:0)
UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action`1[T] progress) (at <85d6d953c1ec46f68a996e6a681b2be9>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action`1[T] progress) (at <85d6d953c1ec46f68a996e6a681b2be9>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <85d6d953c1ec46f68a996e6a681b2be9>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <85d6d953c1ec46f68a996e6a681b2be9>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x0021f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:182
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00065] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:89
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
错误原因:
1、unity没有配置ndk
2、配置了ndk但没有配置NDK环境变量;
解决方案:
1.1unity->Edit->Preference->External Tools设定ndk路径
2.1、在环境变量中添加名ANDROID_NDK_HOME的变量,值为NDK路径
2.2、"我的电脑"右键“属性”->高级系统设置->环境变量 -> 新建ANDROID_NDK_HOME,值为D:\programs\Android\android-ndk-r13b
2.3、重启电脑,再编译正常了。