在看完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
archetypeArtifactId:Maven
Archetype Plugin的ID
archetypeGroupId:Maven
Archetype Plugin的类别
archetypeVersion:Maven
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 Plugin:3.1.1
一般的JAVA工程打包的类型是jar或者是war,而android工程打包的类型是apk。在执行中,告诉Android Maven Plugin生成的文件类型是apk。Android Maven Plugin会负责调用Android SDK将JAVA字节码转换成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 Plugin:The 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项目时,为了快速启动开发,我们可以选择使用Maven Archetypes。Archetypes是预定义的项目模板,它们可以自动生成一个具有基本结构的项目,从而简化初始化过程。 **什么是Maven ...
7. **Maven Archetypes**:Archetypes是创建新Maven项目的模板,它们包含了项目的初始结构和配置,帮助开发者快速启动新项目。 8. **聚合项目(Aggregation)与模块(Modules)**:Maven支持多模块项目,一个聚合...
例如,你可以运行 `mvn archetype:generate` 并按照提示选择一个 Archetype 来创建新项目。 3. IDE 插件:大多数 Java 开发IDE(如 IntelliJ IDEA 和 Eclipse)都有内置的 Maven 支持,可以直接通过 IDE 创建和管理 ...
在IT行业中,Eclipse是一款广泛使用的Java集成开发环境(IDE),而Maven则是一个强大的项目管理和构建工具。本文将深入探讨如何在Eclipse中利用Maven创建一个Web应用程序项目。 首先,我们需要理解“Eclipse使用...
在实际开发中,你还将学习到如何编写**Maven插件**来自定义构建过程,以及如何使用**Maven Archetypes**快速创建新项目模板。 总之,**Maven中文完整版权威指南**是Java开发者不可或缺的参考书籍,它将帮助你深入...
然后选择 Maven Archetypes 中的 `maven-archetype-webapp`,输入 GroupID(通常是公司或组织名称)和 ArtifactID(项目名),并完成项目创建。 **5. 标准项目结构** 生成的项目结构可能不符合 Maven 的标准推荐,...
Maven Archetypes是创建新项目模板的方式。它们是一组预定义的POM和文件结构,帮助开发者快速初始化一个符合Maven标准的新项目。 **八、Maven的使用** 在实际使用中,通过命令行或者集成开发环境(IDE,如IntelliJ ...
- **Maven Archetypes**: 通过Maven Archetypes可以快速创建新项目模板,减少初始化工作。 **Maven的命令行操作** - `mvn clean`: 清理项目生成的目标文件。 - `mvn compile`: 编译源代码。 - `mvn test`: 运行...
在Maven中,“Catalog”是指一个包含了一系列Maven Archetypes的列表,这些Archetypes是预定义的项目模板,可以帮助开发者快速启动新项目。当我们谈论“maven自定义catalog”,这意味着我们需要创建一个个性化的...
2. **创建新项目**:打开终端或命令行,使用`mvn archetype:generate`命令来创建新的项目。你需要提供一些参数,如groupId、artifactId、version等,这些参数定义了你的项目坐标。 3. **填写参数**:Maven会提示你...
首先,当我们尝试使用Maven创建一个新项目时,通常会使用`mvn archetype:generate`命令,这个命令基于一个叫做Archetype的模板来生成项目结构。Archetypes是预定义的项目骨架,它们包含了项目的初始目录结构、基本...
Maven Archetypes是预定义的项目模板,开发者可以通过它们快速创建新项目,减少了初始配置的工作量。 10. **最佳实践与问题解决** Maven的使用过程中,可能会遇到如依赖冲突、构建失败等问题。理解Maven的命令行...
9. Maven Archetypes:Archetypes是预定义的项目模板,开发者可以根据需求选择合适的archetype快速创建新项目,减少了初始化项目的工作量。 10. 远程仓库和私有仓库:除了中央仓库,Maven还支持远程仓库和私有仓库...
10. **Maven Archetypes**:Maven还提供了一系列的archetypes,即模板项目,开发者可以根据需要选择一个archetype快速创建一个新的Maven项目。 通过了解和掌握这些知识点,开发人员能够高效地使用Apache Maven ...
Maven Archetypes是预定义的项目模板,可以帮助开发者快速创建新项目,只需要提供必要的项目信息,即可生成符合规范的基础项目结构。 综上所述,Maven为Java开发提供了标准化的流程和自动化工具,极大地提高了开发...
- Maven Archetypes是预定义的项目模板,可以帮助快速创建新项目,减少初始化工作。 7. **Maven与持续集成** - Maven与持续集成工具(如Jenkins、GitLab CI/CD)配合良好,能够自动化构建、测试和部署流程。 总...
Maven Archetypes是预先定义的项目模板,可快速创建新项目,例如`mvn archetype:generate`命令可以生成一个新的Maven项目结构。 ### Maven的缺点 虽然Maven简化了构建过程,但它的配置有时可能过于复杂,尤其是...
Maven Archetypes 是预定义的项目模板,可以快速生成符合约定的新项目结构。例如,`mvn archetype:generate`命令可以创建一个新的Maven项目,用户只需提供必要的信息如groupId、artifactId等。 **六、Apache Maven ...