2016-01-21 80 views
1

我的Android gradle這個構建失敗,一個有用的錯誤消息配置項目「:應用程序」未能找到構建工具修改

$ gradle 

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring project ':app'. 
> failed to find Build Tools revision 24.4.1 

我看着那個Android的工作室認爲我已經安裝了SDK版本。

enter image description here

這使得它看起來像我有24.4.1(相同的版本在我的build.gradle文件)gradle files here已更新爲指向的SDK版本,我認爲我已經安裝了。另外,我已經試過用./android list sdk -a; ./android update sdk -a -u -t 1安裝sdk,通過向我展示安裝進度給了我希望,但仍然失敗。

我甚至試圖把一個假的local.properties文件

sdk.dir=/home/admin/DEADBEEF 

這給

$ gradle 
Starting a new Gradle Daemon for this build (subsequent builds will be faster). 

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring project ':app'. 
> The SDK directory '/home/admin/DEADBEEF' does not exist. 

此外,堆棧跟蹤似乎並沒有太大的幫助,因爲我沒有找到這個源文件。所以,現在我已經開始通過googlesourceDefaultSdkLoader

$ gradle --stacktrace 

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring project ':app'. 
> failed to find Build Tools revision 24.4.1 

* Try: 
Run with --info or --debug option to get more log output. 

* Exception is: 
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'. 
     at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79) 
     at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74) 
     at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61) 
     at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:510) 
     at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:90) 
     at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47) 
     at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35) 
     at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:125) 
     at org.gradle.internal.Factories$1.create(Factories.java:22) 
     at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) 
     at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52) 
     at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:122) 
     at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32) 
     at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99) 
     at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93) 
     at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) 
     at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62) 
     at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93) 
     at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82) 
     at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94) 
     at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) 
     at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) 
     at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43) 
     at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) 
     at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78) 
     at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48) 
     at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52) 
     at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) 
     at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) 
     at org.gradle.util.Swapper.swap(Swapper.java:38) 
     at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66) 
     at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72) 
     at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41) 
     at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
     at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) 
     at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) 
     at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) 
     at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) 
Caused by: java.lang.IllegalStateException: failed to find Build Tools revision 24.4.1 
     at com.android.builder.sdk.DefaultSdkLoader.getTargetInfo(DefaultSdkLoader.java:93) 
     at com.android.build.gradle.internal.SdkHandler.initTarget(SdkHandler.java:89) 
     at com.android.build.gradle.BasePlugin.ensureTargetSetup(BasePlugin.java:673) 
     at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:610) 
     at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:566) 
     at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:563) 
     at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55) 
     at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47) 
     at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:562) 
     at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:559) 
     at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:93) 
     at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:82) 
     at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44) 
     at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79) 
     at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30) 
     at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) 
     at com.sun.proxy.$Proxy10.afterEvaluate(Unknown Source) 
     at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67) 
     ... 52 more 

DefaultSdkLoader之前可以使用一個構建工具來編譯工程,

com.android.sdklib.repository.local.LocalSdk#scanBuildTools 

正在使用您的SDK目錄調用。將創建一個新的BuildToolInfo,它使用PKG_BUILD_TOOLS類型來查找構建工具。所以,我只是在我的android SDK中查看我的build-tools文件夾,並且!有沒有建立工具24.4.1

回答

8

這是因爲構建工具修訂24.4.1不存在

最新的版本是23.0.2.
這些工具包含在SDK包並安裝在<sdk>/build-tools/目錄。

請勿混淆Android SDK ToolsSDK Build Tools

改變你build.gradle

android { 
    buildToolsVersion "23.0.2" 
    // ... 

} 
+0

沒錯。通過代碼挖掘我慢慢發現,24.4.1不存在於我的'/build-tools /'目錄 – activedecay

+0

請在您的回答中提及/ build-tools / – activedecay

0

也嘗試增加項目的的build.gradle gradle這個版本。我幫了我

相關問題