It's because the NDK, like the rest of the Android Make build system, doesn't like spaces in paths. I moved it from "/Applications/Android Studio.app/ndk" to /usr/local/android/ndk and it worked perfectly.
On Friday, October 24, 2014 10:07:26 AM UTC-7, Chris Sarbora wrote: > > Thanks, Xavier. Uninstalling and reinstalling the rev. 20 tools did the > trick; apparently I had downloaded them at some point when they were called > 'android-4.4.W'. > > I now only get three errors, all of which look to be tests expecting the > source checkout to be in $HOME/build (mine is in $HOME/Projects/aosp/aosp): > > Error Code: > 2 > Output: > usage: dirname path > make: /Users/sarbs/build/core/build-local.mk: No such file or directory > make: *** No rule to make target > `/Users/sarbs/build/core/build-local.mk'. Stop. > > at > org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39) > at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:66) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:235) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:222) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200) > at > org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) > at > org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) > ... 70 more > Caused by: com.android.ide.common.internal.LoggedErrorException: Failed to > run command: > /Applications/Android Studio.app/ndk/ndk-build NDK_PROJECT_PATH=null > APP_BUILD_SCRIPT=/Users/sarbs/Projects/aosp/aosp/tools/base/build-system/tests/regular/ndkJniLib/lib/build/intermediates/ndk/release/Android.mk > APP_PLATFORM=android-19 > NDK_OUT=/Users/sarbs/Projects/aosp/aosp/tools/base/build-system/tests/regular/ndkJniLib/lib/build/intermediates/ndk/release/obj > > NDK_LIBS_OUT=/Users/sarbs/Projects/aosp/aosp/tools/base/build-system/tests/regular/ndkJniLib/lib/build/intermediates/ndk/release/lib > APP_ABI=all > > > > On Thursday, October 23, 2014 4:35:05 PM UTC-7, Xavier Ducrohet wrote: >> >> If you have 20 installed it should work (the SDK Manager is a bit silly >> and doesn't display 20.0.0 but 20, even though the version is technically >> 20.0.0). >> >> Note that this test is a bit broken in the way that it looks for aapt, in >> a particular folder (20.0.0) even though build-tools are found by folder >> name normally. >> >> While the default installation for build tools 20(.0.0) should be >> $SDK/build-tools/20.0.0/ it's possible you could have a different folder? >> In this case just rename it to 20.0.0 and everything will still work. >> >> On Thu, Oct 23, 2014 at 3:22 PM, Chris Sarbora <[email protected]> wrote: >> >>> 1049 tests completed, 501 failed >>> :base:builder:test FAILED >>> >>> The Gradle Plugin tests seem to be hardcoded to Build Tools 20.0.0 - is >>> there a reason for this? I have 21, 20 and 19.1 installed but there is no >>> option for "20.0.0". >>> >>> junit.framework.AssertionFailedError: Test requires build-tools 20.0.0 in >>> /Applications/Android Studio.app/sdk/build-tools/20.0.0/aapt >>> at junit.framework.Assert.fail(Assert.java:47) >>> at junit.framework.Assert.assertTrue(Assert.java:20) >>> at >>> com.android.builder.png.NinePatchAaptProcessorTest.getCruncher(NinePatchAaptProcessorTest.java:94) >>> at >>> com.android.builder.png.NinePatchAaptProcessorTest.crunchFile(NinePatchAaptProcessorTest.java:152) >>> at >>> com.android.builder.png.NinePatchAaptProcessorTest.runTest(NinePatchAaptProcessorTest.java:167) >>> at junit.framework.TestCase.runBare(TestCase.java:127) >>> at junit.framework.TestResult$1.protect(TestResult.java:106) >>> at junit.framework.TestResult.runProtected(TestResult.java:124) >>> at junit.framework.TestResult.run(TestResult.java:109) >>> at junit.framework.TestCase.run(TestCase.java:118) >>> at junit.framework.TestSuite.runTest(TestSuite.java:208) >>> at junit.framework.TestSuite.run(TestSuite.java:203) >>> at >>> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) >>> at >>> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86) >>> at >>> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49) >>> at >>> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69) >>> at >>> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:48) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) >>> at >>> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) >>> at >>> org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) >>> at >>> org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) >>> at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) >>> at >>> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:105) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) >>> at >>> org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) >>> at >>> org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:355) >>> at >>> org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) >>> at java.lang.Thread.run(Thread.java:695) >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "adt-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Xavier Ducrohet >> Android SDK Tech Lead >> Google Inc. >> http://developer.android.com | http://tools.android.com >> >> Please do not send me questions directly. Thanks! >> > -- You received this message because you are subscribed to the Google Groups "adt-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
