JDK1.6+
Maven 3.1.1+
Eclipse Indigo(3.7)、Juno(4.2)以上版本
虽然m2e-android官方推荐Eclipse使用Indigo和Juno以上版本,但本文是基于Kepler(4.3)来分享安装过程的。并整理了Juno(4.2)安装遇到的一些问题,其他版本可能会遇到一些其他的问题。
下载地址:http://maven.apache.org/download.html
描述:就像ant一样的一套工具,稍后安装的插件需要依赖maven
安装:直接下载binary文件,解压即可。
我们的安装目标是m2e-android,但该插件依赖m2e(Maven Integration for Eclipse)。有两种策略:
* 直接安装m2e-android,在安装过程中自动检测依赖,选择依赖的的m2e即可;
* 先安装m2e,再安装m2e-android,这种适用于使用Juno版本的Eclipse,经过尝试,Juno无法直接安装m2e-android。
m2e-android(Android for Maven Eclipse)的安装
插件官方文档:http://rgladwell.github.io/m2e-android/
描述:专用于ADT的maven插件。由于m2e-android的update site已经失效,无法使用Install New Software安装,只能通过Marketplace(ADT默认是没有安装的)。该插件依赖maven。
安装:在Marketplace中搜索android m2e。在Kepler的Marketplace中,搜索的结果是Android for Maven Eclipse 1.0.1,点击Install,而在Juno中是Android for Maven Eclipse。
全部选中——Confirm。因为是直接安装的m2e-android,没有提前安装m2e,因此这里还需要选中依赖项m2e。
特别注意,这里的m2e是Maven Integration for Eclipse。适用于不同开发环境的m2e插件会带有前缀或后缀,例如m2e - WPT。
注:Juno可能会在这一步失败,可以先安装m2e - Maven Integration for Eclipse,然后安装android m2e - Android Maven Plugin,这是两个插件,只是在安装android m2e的时候会通过依赖项自动安装m2e。
忽略该提示,直接Yes
默认选中第一项,不用换选项——Confirm。接下来就Next,直到Finish。
Help——Install New Software,Work with选择All Available site,在过滤条件中搜索marketplace:
也就是说,Marketplace是包含在eclipse本身的update site中的,只是没有预装在ADT中。如果选择All Availabe sites显示比较慢,可以直接选择Eclipse自带的Update Site:Work with的下拉列表中选择那个以你Eclipse当前版本代号同名的site。比如我是Kepler,那么链接会是这样的:
如果是Juno,那么name部分就是Juno。
小技巧:
Marketplace客户端搜索速度很慢,并且插件卸载后,Marketplace里仍然显示已安装状态,导致无法重新安装。此时可以打开Marketplace Eclipse网页版,然后找到要安装的插件,将Install连接直接拖到Eclipse中。
如果习惯使用maven命令行,则需要配置好ANDROID_HOME、MAVEN_HOME并加入到PATH中
下面是一份配置例子:
ANDROID_HOME=/Users/madmatrix/Documents/adt/sdk MAVEN_HOME=/Users/madmatrix/Documents/maven322 PATH=/usr/local/git/bin:$PATH:$ANDROID_HOME:$MAVEN_HOME/bin export MAVEN_HOME export ANDROID_HOME export PATH
关联ADT与外置Maven
Preferences——Maven——Installations,默认情况下,与Eclipse关联的是内置的Maven(Embed),我们需要与刚下载好的Maven关联。点击Add,然后选择刚下载好的Maven的目录——OK。
设置maven用户配置与本地仓库路径
Preferences——Maven——User Settings。第一次打开该界面会提示User settings file doesn’t exist,但是插件已经给出了用户配置应该存在的位置,我们现在这个位置上手动创建一个名为settings.xml的文件,然后再回到Eclipse的这个界面,会发现在User Settings的右边出现了一个open file的超链接,点击该链接即可在Eclipse中打开配置文件进行编辑。
在该界面会看到Local Repository,点击Reindex可以更改本地仓库的路径。
设置Android SDK路径
虽然设置了ANDROID_HOME,但是m2e-android插件依然无法获取到android sdk的路径,我们可以将其设置在用户配置中,pom.xml文件会自动引用。
下面是一份写好的配置:
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <profiles> <profile> <id>android-sdk</id> <properties> <android.sdk.path>PATH-TO-ANDROID-SDK</android.sdk.path> </properties> </profile> </profiles> <activeProfiles> <activeProfile>android-sdk</activeProfile> </activeProfiles> </settings>
将PATH-TO-ANDROID-SDK换成你自己的android sdk路径即可
New——Maven——Maven Project——Next——Next,在Select an Archetype界面,点击Add Archetype,然后在弹出的对话框中依次填写:
Archtype Group Id:de.akquinet.android.archetypes
Archtype Artifact Id:android-quickstart
Archtype Version:1.0.10
然后点击OK
在以后新建工程的时候,在这个界面无需上述操作,直接在Catalog中选择Android,列表中的第一项即为我们新增的Archtype,选择该项,点击Next
在New Maven Project界面,需要填写Maven坐标信息。package为项目包名。
创建好之后的目录结构大致如下:
步骤:
按照以前的方式创建工程;
拷贝一份pom文件到该工程目录下;
修改pom.xml文件的groupId、Artifact Id等坐标;
项目上单击右键,选择Configure——Convert to Maven Project
如果工程下没有pom.xml文件,此时直接转换会弹出对话框让用户输入坐标信息,所以要先拷贝pom.xml然后再转换,这样就无需再填写坐标信息
右键单击项目,Run as——Run Configurations——左侧双击Maven Build,在右侧依次更改
Name:任意名字
Base directory:点击Browse Workspace选择项目的路径
Goals:clean install android:deploy android:run
然后点击Run。
Plugin execution not covered by lifecycle configuration
初次安装好m2e-android插件,可能会遇到该错误,该错误不影响正常使用。可以在Problems视图中,右键单击该错误,选择Quick Fix,然后选择永久忽略。
关于该异常的具体原因,参考这里:http://wiki.eclipse.org/M2E_plugin_execution_not_covered