`
reymont
  • 浏览: 529520 次
  • 性别: 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项目时,为了快速启动开发,我们可以选择使用Maven Archetypes。Archetypes是预定义的项目模板,它们可以自动生成一个具有基本结构的项目,从而简化初始化过程。 **什么是Maven ...

    Maven权威指南最全讲授

    7. **Maven Archetypes**:Archetypes是创建新Maven项目的模板,它们包含了项目的初始结构和配置,帮助开发者快速启动新项目。 8. **聚合项目(Aggregation)与模块(Modules)**:Maven支持多模块项目,一个聚合...

    安装maven和使用maven创建项目

    例如,你可以运行 `mvn archetype:generate` 并按照提示选择一个 Archetype 来创建新项目。 3. IDE 插件:大多数 Java 开发IDE(如 IntelliJ IDEA 和 Eclipse)都有内置的 Maven 支持,可以直接通过 IDE 创建和管理 ...

    Eclipse使用Maven无法建web项目

    在IT行业中,Eclipse是一款广泛使用的Java集成开发环境(IDE),而Maven则是一个强大的项目管理和构建工具。本文将深入探讨如何在Eclipse中利用Maven创建一个Web应用程序项目。 首先,我们需要理解“Eclipse使用...

    maven中文完整版权威指南pdf

    在实际开发中,你还将学习到如何编写**Maven插件**来自定义构建过程,以及如何使用**Maven Archetypes**快速创建新项目模板。 总之,**Maven中文完整版权威指南**是Java开发者不可或缺的参考书籍,它将帮助你深入...

    maven创建webapp

    然后选择 Maven Archetypes 中的 `maven-archetype-webapp`,输入 GroupID(通常是公司或组织名称)和 ArtifactID(项目名),并完成项目创建。 **5. 标准项目结构** 生成的项目结构可能不符合 Maven 的标准推荐,...

    maven项目管理工具包

    Maven Archetypes是创建新项目模板的方式。它们是一组预定义的POM和文件结构,帮助开发者快速初始化一个符合Maven标准的新项目。 **八、Maven的使用** 在实际使用中,通过命令行或者集成开发环境(IDE,如IntelliJ ...

    最新Maven-apache-maven-3.8.1-Repository-配置好的

    - **Maven Archetypes**: 通过Maven Archetypes可以快速创建新项目模板,减少初始化工作。 **Maven的命令行操作** - `mvn clean`: 清理项目生成的目标文件。 - `mvn compile`: 编译源代码。 - `mvn test`: 运行...

    maven自定义catalog

    在Maven中,“Catalog”是指一个包含了一系列Maven Archetypes的列表,这些Archetypes是预定义的项目模板,可以帮助开发者快速启动新项目。当我们谈论“maven自定义catalog”,这意味着我们需要创建一个个性化的...

    maven-archetype-quickstart-1.1.jar包下载

    2. **创建新项目**:打开终端或命令行,使用`mvn archetype:generate`命令来创建新的项目。你需要提供一些参数,如groupId、artifactId、version等,这些参数定义了你的项目坐标。 3. **填写参数**:Maven会提示你...

    新建maven项目失败需要的jar包,maven-archetype-quickstart-1.1.jar

    首先,当我们尝试使用Maven创建一个新项目时,通常会使用`mvn archetype:generate`命令,这个命令基于一个叫做Archetype的模板来生成项目结构。Archetypes是预定义的项目骨架,它们包含了项目的初始目录结构、基本...

    maven项目学习笔记记录

    Maven Archetypes是预定义的项目模板,开发者可以通过它们快速创建新项目,减少了初始配置的工作量。 10. **最佳实践与问题解决** Maven的使用过程中,可能会遇到如依赖冲突、构建失败等问题。理解Maven的命令行...

    Maven权威指南中文版

    9. Maven Archetypes:Archetypes是预定义的项目模板,开发者可以根据需求选择合适的archetype快速创建新项目,减少了初始化项目的工作量。 10. 远程仓库和私有仓库:除了中央仓库,Maven还支持远程仓库和私有仓库...

    apache-maven-3.5.0

    10. **Maven Archetypes**:Maven还提供了一系列的archetypes,即模板项目,开发者可以根据需要选择一个archetype快速创建一个新的Maven项目。 通过了解和掌握这些知识点,开发人员能够高效地使用Apache Maven ...

    Maven 教程:基础篇-尚硅谷学习笔记 2022年

    Maven Archetypes是预定义的项目模板,可以帮助开发者快速创建新项目,只需要提供必要的项目信息,即可生成符合规范的基础项目结构。 综上所述,Maven为Java开发提供了标准化的流程和自动化工具,极大地提高了开发...

    maven3.8.5压缩包

    - Maven Archetypes是预定义的项目模板,可以帮助快速创建新项目,减少初始化工作。 7. **Maven与持续集成** - Maven与持续集成工具(如Jenkins、GitLab CI/CD)配合良好,能够自动化构建、测试和部署流程。 总...

    12-Maven_maven_

    Maven Archetypes是预先定义的项目模板,可快速创建新项目,例如`mvn archetype:generate`命令可以生成一个新的Maven项目结构。 ### Maven的缺点 虽然Maven简化了构建过程,但它的配置有时可能过于复杂,尤其是...

    apache-maven-3.3.9

    Maven Archetypes 是预定义的项目模板,可以快速生成符合约定的新项目结构。例如,`mvn archetype:generate`命令可以创建一个新的Maven项目,用户只需提供必要的信息如groupId、artifactId等。 **六、Apache Maven ...

Global site tag (gtag.js) - Google Analytics