From the documentation
You may configure it in the android-maven-plugin
configuration section in the pom.xml
file using <sdk><path>...</path></sdk>
or <properties><android.sdk.path>...</android.sdk.path></properties>
or on command-line using -Dandroid.sdk.path=...
or by setting environment variable ANDROID_HOME
.
Solution 1
I have defined an Android SDK system variable called ANDROID_SDK
(instead of ANDROID_HOME
) and referenced it in my pom.xml
this way:
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>apk</packaging>
<name>...</name>
<description>...</description>
<properties>
<android.sdk.path>${env.ANDROID_SDK}</android.sdk.path>
...
</properties>
Solution 2
As an alternative you can also configure it in the android-maven-plugin
section:
<plugin>
<extensions>true</extensions>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android-maven-plugin.version}</version>
<configuration>
<androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
<assetsDirectory>${project.basedir}/assets</assetsDirectory>
<resourceDirectory>${project.basedir}/res</resourceDirectory>
<nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
<sdk>
<android.sdk.path>${env.ANDROID_SDK}</android.sdk.path>
<platform>16</platform>
</sdk>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
</plugin>
Solution 3
As a third option you can set the SDK from the command line passing an argument to Maven:
mvn clean install -Dandroid.sdk.path="C:\\Program Files (x86)\\Android\\android-sdk"