博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Maven构建Android项目
阅读量:6473 次
发布时间:2019-06-23

本文共 2647 字,大约阅读时间需要 8 分钟。

之前一直在做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开发,推荐下载,该版本已经安装了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>

转载地址:http://vopko.baihongyu.com/

你可能感兴趣的文章
VC TCP Socket编程
查看>>
简单的文件版本更新
查看>>
Resharper上手指南
查看>>
IEnumerable<IEnumerable<string>>结构解析通用解决方案(支持指定属性顺序)
查看>>
详解android的号码匹配
查看>>
分享自制的C#和VB Code互转工具
查看>>
Integer Numbers
查看>>
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q70-Q72)
查看>>
Power BI for Office 365介绍
查看>>
最全最新个税计算公式---今天你税了吗?
查看>>
smarty在循环的时候计数来显示这是第几次循环的功能
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
MongoDB--CSharp Driver Quickstart .
查看>>
#pragma mark 添加分割线 及 其它类似标记 - 转
查看>>
顶尖黑客的故事
查看>>
遗传算法实现自动组卷、随机抽题 (转)
查看>>
二分法求平方根(Python实现)
查看>>
详解.NET IL代码(一)
查看>>
操作ACCESS数据库注意事项
查看>>
使用startActivityForResult方法(转)
查看>>