在看完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项目时,需要选择archetypes,包括常用的maven-archetype-webapp和maven-archetype-quickstart 的jar包
通过原型创建的所有项目都使用来编译和运行JavaFX应用程序。先决条件JDK 11 Maven 3在本地安装原型要将所有原型安装在本地存储库中,请执行以下命令: git clone ...
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项目 mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DarchetypeVersion=1.1.0 -DgroupId=org.eguys -DartifactId=one...
Maven: The Complete Reference The essential reference for anyone working with Apache Maven. Explore the details of the POM, Maven Settings, Maven Archetypes.
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原型 创建Maven原型以创建Spring项目有助于缩短实施时间。 SpringMVC Spring安全
创建新的Maven项目时,将获取这些文件,并在IntelliJ IDEA中提供包含的Maven原型。用法安装插件。 它在“文件” - “设置” -“构建”,“执行”和“部署” -“构建”工具的“设置”菜单中添加了一个新条目“ Maven...
Import Maven local Archetype Catalogs in Eclipse(Eclipse 本地 导入archetype-catalog.xml) 百度或 使用方法Go to Windows -> Preferences -> Maven -> Archetypes.
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原型。 如何使用 生成一个项目 mvn archetype:generate \ -DarchetypeGroupId=net.ltgt.gwt.archetypes \ -DarchetypeVersion=LATEST \ -DarchetypeArtifactId= 可用的在以下位置...
解决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 -...
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 ...
generate -DarchetypeGroupId=org.jgrapht.archetypes -DarchetypeArtifactId=maven-archetype-jgrapht -DarchetypeVersion=1.2.0 将创建一个名为myapp的文件夹,其中包含一个准备进行编码的Maven项目。 默认情况下...
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 Maven 创建Web 项目报错 Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap 之前找了很久才找到了,传上来更大家共享下,希望对大家有帮助,欢迎下载或者永久保存。
maven创建webapp,不能成功创建时,请下载此包覆盖到repository
使用cn1app-archetype创建一个新的应用程序项目。 以下是完整的mvn archetype:generate命令。 mvn archetype:generate \ -DarchetypeGroupId=com.codenameone \ -DarchetypeArtifactId=cn1app-archetype \ -...
Maven原型Maven原型项目的集合
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 ...