Ich möchte ein Projekt für Android starten, aber ich möchte es wirklich mit Maven bauen. Bietet Google Unterstützung für Maven an oder plant es zu unterstützen? Es wäre toll, wenn jemand zumindest einen Archetyp für Maven kennt, den ich in der Zwischenzeit verwenden kann. Vielen Dank im Voraus.
Antworten
Zu viele Anzeigen?Es scheint, als gäbe es ein Maven-Plugin für diesen Zweck :-)
Was ich wirklich wollte, war ein Artikel wie dieser aber ich habe sie gefunden, nachdem die Frage beantwortet war.
Aktualisierung: Die Mitarbeiter von SpringSource haben ein Spring Android-Projekt entwickelt, das die Verwendung des Spring Frameworks in einer Android-Umgebung unterstützt und Maven-Unterstützung haben . Ich werde es ausprobieren.
Hier ist ein Artikel über Spring Android und Maven mit Eclipse 3.6 und Android SDK 9, aufgeteilt in zwei Teile:
Das Android Maven-Plugin wurde aktualisiert, um die Änderungen in der Android SDK r14 Version zu unterstützen. Sie müssen Ihr POM anpassen, um die neue Version zu verwenden. Mit der neuen Version trat bei der Erstellung meiner App ein Fehler auf, dass der Speicher nicht ausreicht. Beachten Sie daher den Abschnitt dex jvmArguments, um mehr verfügbaren Speicher zu ermöglichen.
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.0.0-alpha-13</version>
<configuration>
<sdk>
<platform>${android-platform}</platform>
</sdk>
<dex>
<jvmArguments>
<jvmArgument>-Xms256m</jvmArgument>
<jvmArgument>-Xmx512m</jvmArgument>
</jvmArguments>
</dex>
<deleteConflictingFiles>true</deleteConflictingFiles>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
<extensions>true</extensions>
</plugin>
Die neueste Version des Android Configurators (m2e-Android) für Eclipse unterstützt ebenfalls die Änderungen in r14. Zu guter Letzt habe ich auf der SpringSource-Website einen Blog mit dem Titel Aktualisierte Maven-Unterstützung für Android-Projekte in dem diese Aktualisierungen der Tools erläutert werden.
Hier ist, was ich getan habe, um Maven-Unterstützung zu einem bestehenden Android-Projekt in Eclipse hinzuzufügen. Ich habe das 'm2e'-Plugin über den Eclipse-Marktplatz installiert. Dann habe ich das 'm2e-Android'-Plugin installiert. Im Moment heißt es noch 'Android Configurator for M2E' im Eclipse Marktplatz. Nach der Installation der beiden Plugins und einem Neustart von Eclipse, klicken Sie mit der rechten Maustaste auf ein bestehendes Android-Projekt-->Konfigurieren-->In Maven-Projekt konvertieren. Wählen Sie eine eindeutige Gruppenkennung und eine Artefaktkennung für Ihr Projekt und klicken Sie dann auf Fertig stellen. Kopieren Sie die folgenden Inhalte in die pom.xml des Projekts und ersetzen Sie alle bestehenden Inhalte. Ändern Sie den Wert des Tags 'version' unter 'dependencies' auf die SDK-Version, die Sie verwenden. Ändern Sie auch den Wert des "platform"-Tags am Ende der Datei auf den Wert Ihrer Plattform. Vergessen Sie nicht, auch die groupId, artifactId und den Namen der xml-Datei zu ändern.
<?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>org.myproject</groupId>
<artifactId>MyProject</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>MyProject</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>2.3.3</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.3.0</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>10</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
Danach klicken Sie mit der rechten Maustaste auf das Projekt-->Maven-->Projekt aktualisieren. Wenn Eclipse sich über Fehler in der Xml-Datei beschwert, sollten Sie Maven installieren und dann Folgendes ausführen
mvn clean install
von der Konsole aus in dem Ordner, der die Datei pom.xml enthält.
Wie @Riduidel schon sagte, können Sie com.jayway.maven.plugins.Android.generation2 Plugin.
Note Das bedeutet, dass Sie keine Plugins herunterladen müssen, sondern nur den Maven benötigen, um dieses Plugin zu verwenden.
Wie ich es gemacht habe:
-
Fügen Sie die Datei pom.xml manuell zu Ihrem Android-Projekt hinzu (im Root des Projekts).
-
apache-maven-3.1.1 herunterladen und den bin-Ordner hinzufügen ( ex D:\java\apache -maven-3.1.1 \bin ;) zum Pfad in den Umgebungsvariablen.
-
konfigurieren. einstellungen.xml en [Your_maven_path] \conf mit dem nächsten:
<pluginGroups> <pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup> </pluginGroups>
-
Inhalt hinzufügen zu pom.xml . Mein Beispiel:
<?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.ENumbers</groupId> <artifactId>ENumbers</artifactId> <version>1.0</version> <packaging>apk</packaging> <name>MainApp</name> <properties> <platform.version>2.2.1</platform.version> </properties> <dependencies> <dependency> <groupId>com.google.android</groupId> <artifactId>android</artifactId> <version>${platform.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.simpleframework</groupId> <artifactId>simple-xml</artifactId> <version>2.7.1</version> <scope>provided</scope> <exclusions> <exclusion> <artifactId>xpp3</artifactId> <groupId>xpp3</groupId> </exclusion> <exclusion> <artifactId>stax-api</artifactId> <groupId>stax</groupId> </exclusion> <exclusion> <artifactId>stax</artifactId> <groupId>stax</groupId> </exclusion> <exclusion> <artifactId>spring-web</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>commons-logging</artifactId> <groupId>commons-logging</groupId> </exclusion> </exclusions> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>3.8.1</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> <path> D:\Program Files\Android\android-sdk </path> <platform>22</platform> </sdk> <undeployBeforeDeploy>true</undeployBeforeDeploy> </configuration> <extensions>true</extensions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> </project>
Sehen Sie sich wichtige <packaging>, <build>
Knoten, den Inhalt und die com.google.Android-Abhängigkeit.
- Nun können Sie das Maven-Fenster in Ihrer IDE öffnen. Für Intellij Idea mache ich es wie folgt:
Bearbeiten->Werkzeug Fenster->Maven und fügen Sie Ihre pom.xm l für die Initialisierung des Maven-Verzeichnisses. - Das ist alles.