2017-10-14 60 views
0

执行任务:[clean]NDK缺少“平台”目录。同时试图构建

按需配置是一项孵化功能。 NDK缺少 “平台”目录。如果您正在使用NDK,请确认ndk.dir已设置为 为有效的NDK目录。它目前设置为 /Users/ishandutta2007/Library/Android/sdk/ndk-bundle。如果您不是使用NDK的 ,请从ANDROID_NDK_HOME或 local.properties中取消设置NDK变量以删除此警告。

不赞成在项目':app'中配置'compile'。改为使用 '实现'。

失败:生成失败,出现异常。

  • 出了什么问题:配置项目':app'时发生问题。

    显示java.lang.NullPointerException(没有错误消息)

  • 尝试:用--info或--debug选项来运行,以获得更多的日志输出。

  • 例外情况是:org.gradle.api.ProjectConfigurationException:配置项目':app'时发生问题。在 org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:87) 在 org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:82) 在 org.gradle.configuration。 project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:69) 在 org.gradle.configuration.project.LifecycleProjectEvaluator.access $ 100(LifecycleProjectEvaluator.java:33) 在 org.gradle.configuration.project.LifecycleProjectEvaluator $ ConfigureProject.run (LifecycleProjectEvaluator.java:103) at org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuil dOperationWorker.execute(DefaultBuildOperationExecutor.java:336) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor。的java:197) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) 在 org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:49) 在 有机.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:651) at org .gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:133) 在 org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35) 在 org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy (TaskPathProjectEvaluator.java:62) at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:100) at org.gradle.execution.TaskSelector.getSelection(TaskSelector。的java:81) 在 org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:42) 在 org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:44) 在 org.gradle .execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:48) 在 org.gradle.execution.DefaultBuildConfigurationActionExecuter.access $ 000(DefaultBuildConfigurationActionExecuter.java:25) 在 org.gradle.execution.DefaultBuildConfigurationActionExecuter $ 1.proceed(DefaultBuildConfigurationActionExecuter.java :54) at org.gra dle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:44) 在 org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:48) 在 org.gradle.execution.DefaultBuildConfigurationActionExecuter.access $ 000(DefaultBuildConfigurationActionExecuter.java :25) 在 org.gradle.execution.DefaultBuildConfigurationActionExecuter $ 1.proceed(DefaultBuildConfigurationActionExecuter.java:54) 在 org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:47) 在 org.gradle.execution .DefaultBuildConfigurationActionExecuter.configure(德faultBuildConfigurationActionExecuter.java:48) 在 org.gradle.execution.DefaultBuildConfigurationActionExecuter.select(DefaultBuildConfigurationActionExecuter.java:36) 在 org.gradle.initialization.DefaultGradleLauncher $ CalculateTaskGraph.run(DefaultGradleLauncher.java:265) 在 组织.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) 在 org.gradle.internal .progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) 在 org.gradle.initialization.DefaultGradleLauncher.constructTaskGraph(DefaultGradleLauncher.java:173) 在 org.gradle.initialization.DefaultGradleLauncher .doBuildStages(DefaultGradleLauncher.java:128) 在 org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:107) 在 org.gradle.internal.invocation.GradleBuildController $ 1.call(GradleBuildController.java:78) at org.gradle.internal.invocation.GradleBuildController $ 1.call(GradleBuildController.java:75) at 个org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152) 在 org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100) 在 org.gradle.internal.invocation .GradleBuildController.run(GradleBuildController.java:75) 在 org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53) 在 org.gradle.launcher.exec.ChainingBuildActionRunner.run (ChainingBuildActionRunner.java:35) 在 org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) 在 org.gradle。tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32) 在 org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner $ 1.run(RunAsBuildOperationBuildActionRunner.java:43) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) 在 org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor .java:197) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOp erationExecutor.java:107) 在 org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40) 在 org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:45) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29) 在 org.gradle.launcher .exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39) at org.gradle.launcher.exec.BuildTreeScopeB uildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25) 在 org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:71) 在 org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute( ContinuousBuildActionExecuter.java:45) 在 org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:51) 在 org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java: 32) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36) 在 org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25) 在 org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43) 在 有机.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29) 在 org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64) 在 org.gradle.tooling .internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29) 在 org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55) 在 org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42) 在 有机.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute在 org.gradle.launcher在 org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:33)(SetupLoggingActionExecuter.java:58) .daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly。执行(BuildCommandOnly.java:36) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon.server.exec.WatchForDisconnection。执行(WatchForDisconnection.java:37) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger。执行(ResetDeprecationLogger.java:26) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon.server.exec.RequestStopIfSing leUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon.server.exec。转发客户端输入$ 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.g radle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 组织。 gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 在 组织。 gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82) 在 组织。 gradle.launcher.daemon.se rver.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon。 server.exec.StartBuildOrRespondWithBusy $ 1.run(StartBuildOrRespondWithBusy.java:50) 在 org.gradle.launcher.daemon.server.DaemonStateCoordinator在 org.gradle.internal.concurrent $ 1.run(DaemonStateCoordinator.java:297) 。 ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) 在 org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46) 在 org.gradle.internal.concurrent.ThreadFac toryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 产生的原因:在 com.google.common.base.Preconditions.checkNotNull(Preconditions.java:782) 显示java.lang.NullPointerException在 com.android.build。 gradle.internal.ndk.NdkHandler.getPlatformVersion(NdkHandler.java:158) 在 com.android.build.gradle.internal.ndk.NdkHandler.supports64Bits(NdkHandler.java:331) 在 com.android.build。 gradle.internal.ndk.NdkHandler.getSupportedAbis(NdkHandler.java:397) 在 com.android.build.gradle.tasks.ExternalNativeJsonGenerator.create(ExternalNativeJsonGenerator.java:609) 在 com.android.build.gradle。 internal.TaskManager。createExternalNativeBuildJsonGenerators(TaskManager.java:1532) 在 com.android.build.gradle.internal.ApplicationTaskManager.lambda $ createTasksForVariantScope在 com.android.builder.profile.ThreadRecorder.record(ThreadRecorder $ 10美元(ApplicationTaskManager.java:205) 的.java:81) 在 com.android.build.gradle.internal.ApplicationTaskManager.createTasksForVariantScope(ApplicationTaskManager.java:200) 在 com.android.build.gradle.internal.VariantManager.createTasksForVariantData(VariantManager.java:523 ) at com.android.build.gradle.internal.VariantManager.lambda $ createAndroidTasks $ 1(VariantManager.java:338) at com.android.bui lder.profile.ThreadRecorder.record(ThreadRecorder.java:81) 在 com.android.build.gradle.internal.VariantManager.createAndroidTasks(VariantManager.java:334) 在 com.android.build.gradle.BasePlugin。拉姆达$ createAndroidTasks $ 5(BasePlugin.java:627) 在 com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81) 在 com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java :622) 在 com.android.build.gradle.BasePlugin.lambda为$ null $ 3(BasePlugin.java:549) 在 com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81) 在 com.android.build.gradle.BasePlugin.lambda $ $ createTasks 4(BasePlugin.java:545) 在 org.gradle.internal.event.BroadcastDispatch $ ActionInvocationHandler.dispatch(BroadcastDispatch.java:91) 在 org.gradle .internal.event.BroadcastDispatch $ ActionInvocationHandler.dispatch(BroadcastDispatch.java:80) 在 org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42) 在 org.gradle.internal.event.BroadcastDispatch $ SingletonDispatch.dispatch(BroadcastDispatch.java:230) at org.gradle.internal.event.BroadcastDispatch $ SingletonDispatch.dispatch(BroadcastDispatch.java:149) at org.gradle.intern al.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58) 在 org.gradle.internal.event.BroadcastDispatch $ CompositeDispatch.dispatch(BroadcastDispatch.java:324) 在 org.gradle.internal.event.BroadcastDispatch $ CompositeDispatch.dispatch(BroadcastDispatch.java:234) 在 org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140) 在 org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java: (未知来源) org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:75) ...... 95多个

  • 获取更多的帮助在https://help.gradle.org

建立3S

失败

构建。gradle这个(项​​目)

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     google() 
     jcenter() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:3.0.0-beta2' 
    } 
} 

allprojects { 
    repositories { 
     google() 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

的build.gradle(APP):

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 26 
    buildToolsVersion '26.0.1' 
    defaultConfig { 
     applicationId 'org.tensorflow.demo' 
     minSdkVersion 21 
     targetSdkVersion 26 
     versionCode 1 
     versionName '1.0' 

     externalNativeBuild { 
      cmake { 
       cppFlags "" 
      } 
     } 
     ndk { 
      abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' 
     } 
    } 

    externalNativeBuild { 
     cmake { 
      path "CMakeLists.txt" 
     } 
    } 
} 

dependencies { 
    compile 'org.tensorflow:tensorflow-android:1.3.0' 
} 

的Android工作室:按需2.3.3

+0

可能重复[如何修复android studio 2.3 NDK bug?](https://stackoverflow.com/questions/42682357/how-to-fix-android-studios-2-3-ndk-bug) – ishandutta2007

+0

试试设置'compileSdkVersion' **'“android-26”'** –

+0

没有得到你,它已经是26. – ishandutta2007

回答

0

配置是一个孵化功能。 NDK缺少“平台”目录。

如果您使用的是NDK,请确认ndk.dir已设置为有效的NDK目录。

它目前设置为C:\Users\MSI\AppData\Local\Android\Sdk\ndk-bundle

如果您未使用NDK,请取消ANDROID_NDK_HOMElocal.propertiesNDK变量以消除此警告。

+0

你能解决这个问题吗? –