"Maven支持Android项目吗?"

19

我想开始一个Android项目,但我很喜欢使用Maven构建。Google是否提供对Maven的支持或计划支持它?如果有人知道可以用的Maven原型,那就太好了。谢谢。

5个回答

18

13
我真正想要的是像这篇文章一样的文章,但我在问题被回答之后才发现它。
更新:SpringSource的人做了一个Spring Android项目,支持在Android环境中使用Spring框架,并且支持Maven。我会试一试。
这是一篇关于Spring Android和Maven的文章,使用Eclipse 3.6和Android SDK 9分为两部分: 第一部分 第二部分

3

Android Maven插件已更新以支持Android SDK r14版本中所做的更改。 您需要调整您的POM文件以使用新版本。 我在构建我的应用程序时遇到了内存不足错误,因此请注意dex jvmArguments部分以允许更多可用内存。

<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>

最新版本的Eclipse Android配置器(m2e-android)也支持r14中的更改。最后,我在SpringSource网站上发布了一篇名为“Updated Maven Support for Android Projects”(Android项目的更新Maven支持)的后续博客,介绍了这些工具的更新。

2
这是我在Eclipse中为现有的Android项目添加Maven支持的步骤。我通过Eclipse市场安装了'm2e'插件,然后安装了'm2e-android'插件。目前,在Eclipse市场中它被称为“M2E的Android配置器”。安装这两个插件并重新启动Eclipse后,右键单击现有的Android项目->配置->转换为Maven项目。为项目选择一个唯一的组ID和artifact ID,然后单击完成。将以下内容复制到项目的pom.xml中,并替换所有现有内容。将“dependencies”标签下的“version”标签的值更改为您正在使用的SDK版本。同时,将文件末尾附近的“platform”标签的值更改为您的平台的值。不要忘记还要更改xml的groupId、artifactId和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>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>

然后在项目上右击-->Maven-->Update Project。如果Eclipse提示XML中有错误,您可能需要安装maven并运行它。

mvn clean install

在包含pom.xml文件的文件夹中的控制台中运行。


0

正如@Riduidel之前所说,您可以使用com.jayway.maven.plugins.android.generation2插件。
请注意,您不需要下载任何插件,只需拥有Maven即可使用此插件。
我的做法:

  1. 手动将 pom.xml 添加到您的 Android 项目中(添加到项目根目录)。

  2. 下载 apache-maven-3.1.1 并将其 bin 文件夹(例如 D:\java\apache-maven-3.1.1\bin;)添加到环境变量的路径中。

  3. 在 [Your_maven_path]\conf 中配置 settings.xml,内容如下:

    <pluginGroups>  
         <pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup>
    </pluginGroups> 
    
  4. 向 pom.xml 添加内容。以下是示例:

        <?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>

    查看重要的<packaging>, <build>节点,以及它们的内容和com.google.android依赖项。

    1. 现在您可以在IDE中打开Maven窗口。对于Intellij Idea,我会这样做:
      编辑->工具窗口->Maven并添加您的pom.xml以初始化maven目录。
    2. 就这些。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接