Gradle, Android and the ANDROID_HOME SDK location

Budius picture Budius · Nov 5, 2013 · Viewed 243.9k times · Source

edit: (aug-2016)

That question is from November 2013 (while Android Studio was still in Developer Preview mode),

Currently (AS v2.2, Aug-2016) during instalation AS asks to choose the SDK folder (or install on their default) and it automatically applies to which ever project you're opening.

That means any possible workaround or fix is irrelevant as the issue is not reproducible anymore.

original question:

we have this project with several modules that is already configured and executes correctly on another developer PC using a wrapper. I cloned the complete git submodules into my machine.

Below it's a directly print of my command line:

$ ./gradlew

FAILURE: Build failed with an exception.

* Where:
Build file '/home/budius/project_name/ActionBar-PullToRefresh/library/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':ActionBar-PullToRefresh:library'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

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

BUILD FAILED

Total time: 6.378 secs

$ echo $ANDROID_HOME
/home/budius/Applications/android-studio/sdk
$ 

so, as you can see the ANDROID_HOME is there. What else do they want? What's wrong here.

running on Ubuntu 13.04

edit:

I already created a local.properties file with sdk.dir=<path> on the project root and it works. But that makes the code harder to port across systems n build server, so the question is still open.

Anyone knows why the ANDROID_HOME is not working and what to do to make it work?

Answer

u53r picture u53r · Jul 17, 2014

I've solved the problem. This works for me:

In

/my_current_project/

I've created a file called local.properties and put inside

sdk.dir=/my_current_path_to/sdk

In the console I need to do

set ANDROID_HOME=/my_current_path_to/sdk

Hope this helps.