maven 学习笔记(二)创建一个简单的 eclipse+android+maven 工程

因为拿到的工程本身就带有maven控制,但怎样创建一个android工程,并且带有maven控制,一直是困扰我的问题。

经过在网上的搜索终于有了进展。

1、首先需要解决一个问题:原型插件如何知道相关的原型呢?

http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html中给出了解释。

 

2、另外一个网上提供了maven android插件,使得我们可以直接利用eclipse生成带有maven控制的android程序。

https://github.com/akquinet/android-archetypes/wiki/

 

3、我们要生成的是一个简单的android带maven控制的程序,android-quickstart-archetype类型即可满足我们的需要。点击后进去,发现此种类型提供了相关参数:

mvn archetype:generate \
 
-DarchetypeArtifactId=android-quickstart \ 
 
-DarchetypeGroupId=de.akquinet.android.archetypes \ 
 
-DarchetypeVersion=1.0.5 \ 
 
-DgroupId=your.company \ 
 
-DartifactId=my-android-application 

4、这儿有几样东西很重要,groupid,artifactid,version,其中version可能会有所更新,请到如下网站查找最新的version(也就是我们常说的maven中央库)

http://search.maven.org/

将android-quickstart输入即可查到最新的版本,我此时查到的版本已经更新至1.0.6

准备工作做完,现在可以工作了。

 

 

 

创建一个最简单的带maven控制android工程

1、打开eclipse,通过工具new  project出现如下窗口:

image

 

2、选中Maven Project, 点击Next,然后保持默认选项,再点击next,弹出如下窗口

image

 

3、在过滤器中输入android,如果你已经有这样的插件,将会显示出来,否则就需要通过Add Archetype按钮进行添加

image

 

3-1、因为我之前已经安装了这三个插件,因此输入过滤器后直接就有了,如果系统没有找到android-quickstart插件,则需点击Add Archetype,弹出如下窗口,然后将所需要的插件的groupid,artifactid及版本号输入进去,根据准备工作中提及,分别是:

de.akquinet.android.archetypes

android-quickstart

1.0.6

如下图所示:

image

 

4、点击OK后,系统会去寻找相关的插件,然后选中此插件,再次点击Next,依次填入新工程的groupid, artifactid, package,如下图所示:

image

最后点击Finish,交由系统自动生成。生成后实际上是一个最简单的带maven控制的android程序,运行后显示"Hello study!”

 

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.szkingdom</groupId>
    <artifactId>study</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>apk</packaging>
    <name>study</name>
 
    <dependencies>
        <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>2.1.2</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>maven-android-plugin</artifactId>
                <version>2.8.4</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>
                        <platform>7</platform>
                    </sdk>
                    <deleteConflictingFiles>true</deleteConflictingFiles>
                    <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>
 
 
posted @ 2011-08-29 13:30  绿色的麦田  阅读(17678)  评论(1编辑  收藏  举报