使用Maven构建Android项目

it2026-08-27  6

http://www.ikoding.com/build-android-project-with-maven/

 

 

之前一直在做WEB前端项目,前段时间接手第一个Android项目,拿到代码之后,先试着run起来再说,导入eclipse,一堆错误,设置classpath依赖,折腾半天,还是编译错误,于是联系项目接口人,得知他有一个Android库项目没有提交到SVN,晕。。。

对于习惯使用Maven管理Java项目的我来说,自然想到能否用Maven构建Android项目呢?于是开始Google、百度,发现已经有前人做过这样的实践了,不过在使用过程中还是遇到不少问题,后面经过各种努力终于能比较顺地使用了,这篇文章对如何使用Maven构建Android项目作了简要总结。如果你和我一样饱受项目依赖管理的折磨,和我一样讨厌项目打包发布时的繁琐,希望能通过Maven让这一切自动化完成。那么,这篇文章或许对你有用。

1. 环境搭建

JDK与Android SDK安装

做Android开发,这里无需多说,但安装完成后需要正确设置JAVA_HOME、CLASSPATH、ANDROID_HOME等环境变量。其中ANDROID_HOME为Android SDK安装的根目录。并将%ANDROID_HOME%\tools和%ANDROID_HOME%\platform-tools值添加到Path变量中。

Maven安装

这里无需多说,下载安装Maven并正确设置环境变量即可。

IDE支持 Eclipse

大多数人都在使用Eclipse开发Android应用,如果你用Eclipse做Android开发,推荐下载eclipse-with-m2e-and-adt,该版本已经安装了ADT、m2e、m2e-android等重要插件,支持在Eclipse中使用Maven进行Android应用开发。当时为了安装这些插件费了好大劲,所以,如果你看到这里,可以直接下载它,不用像我一样去做那些没有意义又浪费时间的事情。

IntelliJ IDEA

做Java开发,你不能不知道的神器,完美支持使用Maven构建Android应用,强烈推荐。即使是装了插件的Eclipse对使用Maven构建Android应用仍然支持不好。如果你是Eclipse的信徒,你也可以试试它,如果你能习惯它,你一定会被它的强大所吸引。

NetBeans IDE

NetBeans也支持Android开发,但没怎么了解,用的人应该也比较少。

2. 项目构建

以下是我的项目中使用的pom文件,因为涉及保密,部分地方做过修改,但整体结构没有改变,可以清楚地说明问题。

<?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.ikoding.android</groupId>    <artifactId>android-app-quickstart</artifactId>    <version>1.0.0</version>    <packaging>apk</packaging>    <name>Android Application Quick Satrt</name>    <dependencies>        <dependency>            <groupId>com.google.android</groupId>            <artifactId>android</artifactId>            <version>4.1.1.4</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>com.google.android</groupId>            <artifactId>support-v4</artifactId>            <version>r7</version>        </dependency>        <dependency>            <groupId>org.apache.james</groupId>            <artifactId>apache-mime4j</artifactId>            <version>0.5</version>        </dependency>        <dependency>            <groupId>org.apache.httpcomponents</groupId>            <artifactId>httpmime</artifactId>            <version>4.2.2</version>        </dependency>        <dependency>            <groupId>com.ikoding.android</groupId>            <artifactId>android-base</artifactId>            <version>2.0.0</version>            <type>apklib</type>        </dependency>    </dependencies>    <properties>        <keystore.filename>app-quickstart.keystore</keystore.filename>        <keystore.storepass>2013@ikoding</keystore.storepass>        <keystore.keypass>2013@ikoding</keystore.keypass>        <keystore.alias>ikoding-android-app</keystore.alias>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>    <build>        <finalName>${project.artifactId}-${project.version}-${manifest.metadata.id}</finalName>        <sourceDirectory>src</sourceDirectory>

转载于:https://www.cnblogs.com/BenWong/p/3997948.html

相关资源:数据结构—成绩单生成器
最新回复(0)