Maven in Android Eclipse中搭建Maven管理的Android程序

1 篇文章 0 订阅
1 篇文章 0 订阅

眼下Android的开发正如火如荼,开发方式大多数是Android SDK+Eclipse+ADT,大部分的操作都要依赖Eclipse(当然有高手直接敲命令的)。如果项目依赖其它库资源在不同的机器上难免又要设置一番,而且库资源及其依赖管理是相当混乱,针对这种情况,Maven是一个很好的解决方案,下面讲叙述如何将Android的工程与Maven整合。
首先介绍一下需要用到的工具:
Android SDK——这个不用说了,必须的
Eclipse——同上
Android Development Tool(ADT)——相信绝大部分的人都依赖这个插件来开发Android项目的
以上是搭建一个Android项目的基本需要,下面是整合Maven需要的一些工具(插件)
Maven Eclipse Plugin(m2e)——用过Maven的一般都熟悉这个,这个是一个Eclipse的插件,其具有如下功能:
识别工程内的pom.xml,并使用独有的编辑器打开pom.xml
将pom.xml内部声明的依赖库添加至“Maven Dependencies”的Library Container,这个是使我们能在EclipseIDE内使用pom.xml内声明的库的主要原因
在java builder内加入maven的builder,使从eclipse内执行时能够使用到maven相关功能
增加maven的各种独有的运行设置
Android Development Tools and the M2Eclipse——这个是Eclipse的插件,充当的角色是ADT及m2e之间的桥梁,由于Android项目的特性,Maven所做的操作在Android的项目上并不适用,所以这个插件相当于两个插件之间的适配器,使得m2e的插件作出的变更及其通知能够以ADT所能接受的方式通知ADT对Android的项目作出响应的变更。
Android Maven Plugin——这个是Maven的插件,目的是能在使用mvn package时让maven构建出一个能在Android上使用的目标文件。

第一种方式

工具的介绍完毕,下面看看如何将Maven整合进一个Android工程:
首先看看对于已经存在的Android工程:
安装好如上的插件,在Android的工程上点右键,弹出菜单Configure->Convert to Maven project

配置好项目信息后会生成pom.xml以及工程上的图标已经多出一个小M字

更改project的packaging类型为apk

第二种方式

1.新建一个maven Poject ![]

(https://img-blog.csdn.net/20160703123052679)

2.查看是否有android相关的Artifact Id并选择,如果没有点击 Add Archetype…

3直接点next完成,然后右键项目Configure→Convert to Android Poject。接下来你就会发现你的Maven in android 就搭建完成了。

pom文件都一样的,不过第一种方式生成的maven项目,pom文件没有plugin那一段,所以你就需要copy啦。完成之后你还是会发现pom文件报错,但又可以编译,所以就请忽略它吧。

<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>org.cst.ming.android.sample</groupId>  
    <artifactId>sample</artifactId>  
    <version>0.0.1-SNAPSHOT</version>  
    <packaging>apk</packaging>  
......  

在pom内声明一个build的插件,在maven构建项目的时候就会在target内生成一个apk的文件

<plugin>  
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>  
    <artifactId>android-maven-plugin</artifactId>  
    <version>3.0.0</version>  
    <inherited>true</inherited>  
    <extensions>true</extensions>  
    <configuration>  
        <sdk>  
            <platform>7</platform>  
            <path>${env.ANDROID_SDK_HOME}</path>  
        </sdk>  
        <deleteConflictingFiles>true</deleteConflictingFiles>  
        <undeployBeforeDeploy>true</undeployBeforeDeploy>  
    </configuration>  
</plugin>    

注意,这里指定了插件的版本,这个是maven官方提供的建议,需要在构建插件中指定插件版本;还有一点就是必须指定sdk.platform及sdk.path属性,不然会因为找不到sdk而无法build的
这时候可以在pom.xml内添加各种的依赖,并且执行mvn clean package即可构建出一个apk文件在target
此时已经整合完毕,可以在IDE内通过ADT来启动项目,亦可以通过在pom.xml内配置android-maven-plugin通过mvn android:deploy将项目部署到指定的设备(虚拟机)上,详情可以查阅android-maven-plugin的官方文档
对于新建项目的:
在新建项目的时候可以采用archetype(项目原型)的方式构建,在向导内选择项目原型,分别有
de.akquinet.android.archetypes:android-quickstart:1.0.6——用于快速构建一个android-maven项目
de.akquinet.android.archetypes:android-with-test:1.0.6——用于构建一个带有测试的android-maven项目
de.akquinet.android.archetypes:android-release:1.0.6——用于构建一个可以发布的android-maven项目,其中包含了一个纯maven的父项目及两个子android-maven项目
在项目创建之后,还有点需要修改的,由于android-maven-plugin原名为maven-android-plugin,因为某种关系在某个版本之后更名为android-maven-plugin,但在这个原型内还是使用旧的maven-android-plugin,所以需要使用新插件的必须手动修改plugin.artifactId及其plugin.version

本文摘自Maven学习之 在Android项目上启用maven
pom文件的解释Android maven pom.xml 解释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值