Vytvorenie Android projektu cez Maven blog

Vytvorenie Android projektu cez Maven

Vytvorenie a pustenie Android projektu prostredníctvom Maven Archetype

Je viacero spôsobov, ako môžete vytvoriť Android projekt. Na tomto príklade si ukážeme vytvorenie Android projektu prostredníctvom technológie Maven. Príklad popisuje ako vytvoriť jednoduchý Android "Hello World" projekt a ako sa inštaluje do reálneho zariadenia. Pre vytvorenie Android projektu nebudete potrebovať žiadnu inštaláciu vývojového prostredia.

Rozhodnutie, či použiť Maven pre Android projekt, je hodne špecifické od projektu a jeho požiadaviek. Použitie Mavenu na Android projekte môže byť pre istý druh projektov správna voľba.

Výhody, ktoré získate pri Maven projekte

  • jednoducho vytvoriť projekt
  • prenosnosť kódu
  • ľahké prepojenie s inými Maven projektami
  • ľahká práca s knižnicami
  • práca s projektom aj bez nutnosti inštalácie vývojového prostredia
  • prístup k rozšíreniam, pluginom
Príklad bol vytváraný a testovaný pod verziou Mavenu 3.0.5. Postup inštalácie Mavenu nájdete tu. Android vytvorenie aplikácie cez Maven

Vytvorenie kostry Android projektu

Na vytvorenie kostry porojektu použijeme Maven Archetypes.

Vytvoríme adresár, kde chceme, aby náš projekt bol vytvorený. Vôjdeme do nášho adresáru a vyvoláme nasledujúci príkaz.

											mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DarchetypeVersion=1.0.11 -DgroupId=eu.starbug -DartifactId=android-starubg-hello-world
								

Ak máme správne nainštalovaný Maven, tak v našom adresári vznikne Android projekt. Príkaz obsahuje nastavenie pre generovanie projektu: nastavenie názvu spoločnosti (-DgroupId), názov Maven projektu(-DartifactId). Počas vytvárania projektu sa Maven pýta na verziu projektu (príklad necháva pôvodnú verziu, Enter) a na verziu Android SDK. Ak chceme inú verziu, ako nám ponúkne Maven, tak dáme 'N' a nastavíme si premenné počas generovania Android projektu.

Ukážka generovania projektu Android vytvorenie aplikácie cez Maven

Vygenerovaná štruktúra Android projektu Android vytvorenie aplikácie cez Maven

Definovanie Android SDK pre Maven

Pred spustením projektu treba zadefinovať cestu k Android SDK. Cesta sa definuje cez premennú operačného systému ANDROID_HOME, alebo priamo do Maven 'pom.xml'.

Definovanie ANDROID_HOME do operačného systému

Mac OS X
											export ANDROID_HOME=/<Cesta k adresáru, kde je nainštalované Android SDK>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
										
Linux
											export ANDROID_HOME=/<Cesta k adresáru, kde je nainštalované Android SDK>/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
										
Windows
											set ANDROID_HOME=C:\<Cesta k adresáru, kde je nainštalované Android SDK>\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
										

Definovanie ANDROID_HOME cez Maven pom.xml

Druhá možnosť, ako definovať cestu k Android SDK pre Maven je zadanie cesty priamo do Maven 'pom.xml' súboru. Definícia cesty sa vykonáva v plugine com.jayway.maven.plugins.android.generation2 prostredníctvom parametra.

											<path>Cesta k adresáru, kde je nainštalované Android SDK</path>
										
Finálna ukážka Maven 'pom.xml' po nastavení cesty k Android SDK
											<?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>eu.starbug</groupId>
	<artifactId>android-starubg-hello-world</artifactId>
	<version>1.0-SNAPSHOT</version>
	<packaging>apk</packaging>
	<name>android-starubg-hello-world</name>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<platform.version>1.6_r2</platform.version>
		<android.plugin.version>3.6.0</android.plugin.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>com.google.android</groupId>
			<artifactId>android</artifactId>
			<version>${platform.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	<build>
		<finalName>${project.artifactId}</finalName>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>com.jayway.maven.plugins.android.generation2</groupId>
					<artifactId>android-maven-plugin</artifactId>
					<version>${android.plugin.version}</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>16</platform>
                                                <!-- ak nieje definovany ANDROID_HOME v systeme -->
                                                <path>/Developer/Andoird ADT 23/sdk</path>
					</sdk>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
										

Spustenie a práca s Android Maven projektom

Práca s Android Maven projektom sa vykonáva prostredníctvom príkazového riadku v adresári, kde sa nachádza Maven 'pom.xml' súbor. Nasledovné ukážky vytvárajú Android projekt a inštalujú ho do zariadenia, ktoré je pripojené na počítač. Nie je potrebné kopírovať súbor do zariadenia manuálne, o celú správu vytvorenia, nainštalovania a spustenia aplikácie sa stará Android Maven plugin.

Vytvorenie spustiteľnej Android aplikácie (*.apk súbor) a nainštalovanie do zariadenia
											mvn clean install android:deploy
										
Vytvorenie spustiteľnej Android aplikácie (*.apk súbor) a nainštalovanie do zariadenia. Automatické spustenie aplikácie po nainštalovaní.
											mvn clean install android:deploy android:run
										
Vytvorenie spustiteľnej Android aplikácie (*.apk súbor) a nainštalovanie do zariadenia. Automatické spustenie aplikácie po nainštalovaní. Automatické odinštalovanie starej aplikácie z pripojeného zariadenia.
											mvn clean install android:deploy android:run -Dandroid.undeployBeforeDeploy=true
										

Zhrnutie

Prostredníctvom Maven Archetype sa dá jednoducho vytvoriť projekt, ktorý obsahuje štruktúru, ktorú vyžadujú Android projekty. Príklad ukazuje, ako sa dá projekt vytvoriť a nainštalovať do zariadenia. Projekt sa dá ľahko importovať do vývojového prostredia (napríklad Eclipse, NetBeans) ako Maven projekt. Takto vytvorený projekt je ľahko prenosný a neviaže sa priamo na vývojové prostredie. Jeho správa, buildenie, púšťanie sa vykonáva prostredníctvom Maven príkazov.