Android Maven
This tutorial describes how to build Android applications with Apache Maven and the "android-maven-plugin".
Table of Contents
The Android SDK provides tooling for the command line to create and build Android projects.
The Android Developer Tools (ADT) offer the same functionality for Eclipse. In Eclipse you can manually export Android applications via the Eclipse wizard.
To build and deploy Android application the Android SDK provide tools which are currently based on Apache Ant.
The project lead of the ADT has recently announced that ADT is moving to a Gradle based build system and that the Eclipse tooling is also going to be based on the same build system.
Tooling for building Android Application with Maven are also available. The move of ADT to Gradle makes the support of Maven easier as Gradle uses Maven repositories to manage its dependencies.
Building Android outside Eclipse involves using the command line or shell. You should be familiar with using a shell in case you want to be able to perform this tutorial.
Make sure that the
tools
and platform-tools
folder of the Android SDK installation directory are part of your PATH
environment variable.The android-maven-plugin plug-in allows to build Android applications via Maven.
The webpage of this maven plug-in is located under: Android-Maven Plug-in .
You only have to install Maven, write a correct
pom.xml
file and issue the commands to Maven to build, install and run your application.The following will build your Android application via Maven.
mvn3 clean install
This will create the application and places the
.apk
file in the target
folder.If you want to install the application via Maven on your Android device, you can use the following command.
mvn3 android:deploy
If more then one device is available you can specify the relevant device in your pom.xml. Maven can also start and stop an Android virtual device automatically for you.
You can also start the application via Maven.
mvn3 android:run
Create a new Android project called "de.vogella.android.build.firstmaven". The actual content of the repository is not important as we are only using this project to create a working build for Maven.
Create the following "pom.xml" file in your directory. Make sure that artifactId is set to your project name.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>de.vogella.android.build.firstmaven</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>Maven Example</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.1.1</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<!-- platform or api level (api level 4 = platform 1.6) -->
<platform>8</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
Switch to the command line and enter the following command:
mvn3 android:deploy
For more information see the complete Maven Android Guide from Sonatype: Android Application Development with Maven .
Another quick starting guide is available on the android-maven-plugin project side: Getting Started with Android and Maven
No comments:
Post a Comment