`
reymont
  • 浏览: 525862 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Maven开发Android指南 3 使用Android Maven Archetypes 创建新项目

阅读更多

在看完Maven开发Android指南 2 配置android-maven-plugin后,有人会疑惑怎么没有讲android-maven-plugin。这是Maven的特性之一,不需要手工下载plugin,配置pom.xml文件,只要是Maven Central 中有的,maven会自动下载对应的插件。

 

创建项目分两种:手工创建和使用Maven Archetypes

 

手工创建:

 

使用android提供的工具创建项目:

http://developer.android.com/tools/projects/projects-cmdline.html

 

android create project \

--target <target_ID> \

--name <your_project_name> \

--path path/to/your/project \

--activity <your_activity_name> \

--package <your_package_namespace>

 

Maven Archetypes

 

开始一个新的项目可以使用Maven Archetype Plugin来创建项目的基本构架。有很多Android Maven Archetypes。如 android-with-test-archetype:创建包含测试代码的Android工程;android-release-archetype创建包含发布功能的Android工程。

 

本例中将使用android-quickstart这个Maven Archetype Plugin。在Maven Central中搜索android-quickstart查询Latest Version,目前最新的是1.0.8,在-DarchetypeVersion=1.0.8

 

archetypeArtifactIdMaven Archetype PluginID

archetypeGroupIdMaven Archetype Plugin的类别

archetypeVersionMaven Archetype Plugin的版本号

groupId:工程的类别(可以理解为JAVA包名)

artifactId:工程的ID(可以理解为工程的名称)

 

mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DarchetypeVersion=1.0.8   -DgroupId=com.study.android -DartifactId=HelloMavenAndroid

 

Generating project in Interactive mode

 

一路回车就可以创建HelloMavenAndroid工程

 

HelloMavenAndroid文件内,打开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.study.android</groupId>

    <artifactId>HelloMavenAndroid</artifactId>

    <version>1.0-SNAPSHOT</version>

    <packaging>apk</packaging>

    <name>HelloMavenAndroid</name>

 

    <properties>

        <platform.version> 2.3.3

            </platform.version>

    </properties>

 

    <dependencies>

        <dependency>

            <groupId>com.google.android</groupId>

            <artifactId>android</artifactId>

            <version>${platform.version}</version>

            <scope>provided</scope>

        </dependency>

    </dependencies>

 

    <build>

        <plugins>

            <plugin>

                <groupId>com.jayway.maven.plugins.android.generation2</groupId>

                <artifactId>android-maven-plugin</artifactId>

                <version>3.1.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>

                        <platform>10</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>

 

在这个pom.xml文件中高亮部分,分别是:

打包的类型:apk

使用Android平台:2.3.3(指向properties.platform.version

配置Android Maven Plugin3.1.1

 

一般的JAVA工程打包的类型是jar或者是war,而android工程打包的类型是apk。在执行中,告诉Android Maven Plugin生成的文件类型是apkAndroid Maven Plugin会负责调用Android SDKJAVA字节码转换成Dalvik 虚拟机识别的内容。在配置plugin中,Android Maven Plugin必须声明这是扩展的插件(<extensions>true</extensions>)。平台的版本和平台号码需要对应,<version>2.3.3</version><platform>10</platform>,可以在API Level找到对应的关系。

 

依赖的Android平台可以在Maven Central查询到。在依赖中声明<scope>provided</scope>是很有必要的。意思是告诉Maven在打包是不用将Android SDK提供的jar打包到应用中。

 

创建AVD:

 

参考:详解如何创建和使用AVD

请注意在Target栏位选择:Android 2.3.3 – API Level 10

 

 

 

运行:

 

使用AVD Manager.exe创建好AVD,并Start后,

进入HelloMavenAndroid,输入maven命令,最后在模拟器中看到Hello HelloMavenAndroid

 

cd HelloMavenAndroid

mvn android:emulator-start

mvn clean package android:deploy android:run

 

名词解释:

Maven Archetype PluginThe Archetype Plugin allows the user to create a Maven project from an existing template called an archetype.

 

 

 

参考:

http://www.sonatype.com/books/mvnref-book/reference/android-dev-sect-helloandroidexample.html

http://www.sonatype.com/books/mvnref-book/reference/android-dev-sect-archetype.html

http://code.google.com/p/maven-android-plugin/wiki/GettingStarted

http://developer.android.com/tools/projects/projects-cmdline.html

http://maven.apache.org/archetype/maven-archetype-plugin/

http://blog.csdn.net/yaowj2/article/details/6794129

http://search.maven.org/

http://www.jizhuomi.com/android/environment/269.html

分享到:
评论

相关推荐

    eclipse 创建maven项目 选择 archetypes所用到的jar包

    在eclipse中创建maven项目时,需要选择archetypes,包括常用的maven-archetype-webapp和maven-archetype-quickstart 的jar包

    javafx-maven-archetypes:各种JavaFX项目的Maven原型

    通过原型创建的所有项目都使用来编译和运行JavaFX应用程序。先决条件JDK 11 Maven 3在本地安装原型要将所有原型安装在本地存储库中,请执行以下命令: git clone ...

    Mastering.Apache.Maven.3

    Title: Mastering Apache Maven 3 Author: Prabath Siriwardena Length: 298 pages Edition: 1 Language: English Publisher: Packt Publishing Publication Date: 2014-12-29 ISBN-10: 1783983868 ISBN-13: ...

    android-maven:简单的android maven项目

    简单的android maven项目 mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DarchetypeVersion=1.1.0 -DgroupId=org.eguys -DartifactId=one...

    Maven: The Complete Reference权威指南

    Maven: The Complete Reference The essential reference for anyone working with Apache Maven. Explore the details of the POM, Maven Settings, Maven Archetypes.

    Maven.Essentials.178398676

    Get started with the essentials of Apache Maven and get your build...Chapter 3: Maven Archetypes Chapter 4: Maven Plugins Chapter 5: Build Lifecycles Chapter 6: Maven Assemblies Chapter 7: Best Practices

    spring-maven-archetypes:创建Maven原型以创建Spring项目有助于缩短实施时间

    Spring-Maven原型 创建Maven原型以创建Spring项目有助于缩短实施时间。 SpringMVC Spring安全

    maven-archetypes-catalog-plugin:一个使IntelliJ IDEA能够获取外部Maven原型目录文件的插件

    创建新的Maven项目时,将获取这些文件,并在IntelliJ IDEA中提供包含的Maven原型。用法安装插件。 它在“文件” - “设置” -“构建”,“执行”和“部署” -“构建”工具的“设置”菜单中添加了一个新条目“ Maven...

    maven-catalog.zip

    Import Maven local Archetype Catalogs in Eclipse(Eclipse 本地 导入archetype-catalog.xml) 百度或 使用方法Go to Windows -&gt; Preferences -&gt; Maven -&gt; Archetypes.

    maven-archetype-webapp

    1.用于maven 分模块创建项目 2.在下载包的目录执行:mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-webapp -Dversion=1.0 -Dpackaging=jar -Dfile=maven-archetype...

    gwt-maven-archetypes

    该项目包含模块化GWT项目的Maven原型。 如何使用 生成一个项目 mvn archetype:generate \ -DarchetypeGroupId=net.ltgt.gwt.archetypes \ -DarchetypeVersion=LATEST \ -DarchetypeArtifactId= 可用的在以下位置...

    maven-archetype-quickstart-1.1.jar下载

    解决Unable to create project from archetype [org.apache.maven.archetypes:maven-archetype-quickstart:1.1] 1. 下载maven-archetype-quickstart-1.1.jar 文件地址: 2.cmd窗口执行mvn install:install-file -...

    maven-archetypes:自定义Maven原型

    custom maven-archetypes 用SVN/Git客户端检出项目 SVN: svn://gitee.com/longshu/maven-archetypes Git: https://gitee.com/longshu/maven-archetypes.git Git: https://github.com/xlongshu/maven-archetypes.git ...

    maven-archetype-jgrapht:使用JGraphT项目http的应用程序的Maven原型

    generate -DarchetypeGroupId=org.jgrapht.archetypes -DarchetypeArtifactId=maven-archetype-jgrapht -DarchetypeVersion=1.2.0 将创建一个名为myapp的文件夹,其中包含一个准备进行编码的Maven项目。 默认情况下...

    maven-archetype-quickstart

    1.maven-archetype-quickstart-1.1.jar 用于搭建maven模块项目 2.打开cmd窗口,执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -...

    稀缺资源Eclipse archetype-catalog.xml

    Eclipse Maven 创建Web 项目报错 Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap 之前找了很久才找到了,传上来更大家共享下,希望对大家有帮助,欢迎下载或者永久保存。

    maven创建webapp,所需库

    maven创建webapp,不能成功创建时,请下载此包覆盖到repository

    cn1-maven-archetypes:代号一的Maven原型

    使用cn1app-archetype创建一个新的应用程序项目。 以下是完整的mvn archetype:generate命令。 mvn archetype:generate \ -DarchetypeGroupId=com.codenameone \ -DarchetypeArtifactId=cn1app-archetype \ -...

    maven-archetypes:Maven原型项目的集合

    Maven原型Maven原型项目的集合

    Introducing Maven(Apress,2014)

    Furthermore, you'll take advantage of Maven's archetypes to bootstrap new projects easily. Finally, you will learn how to integrate Nexus repository manager with Maven release phases. After reading ...

Global site tag (gtag.js) - Google Analytics