zoukankan      html  css  js  c++  java
  • 为android项目集成maven

    为什么要为android项目增加maven集成功能呢?这里我想到几个主要理由:

    • 部署测试人员和开发人员的角色分离,让他们摆脱eclipse开发环境设置android sdk环境,直接在服务器上运行一个命令,然后下载它的apk包,安装到手机上;
    • 开发人员和android market市场发布人员的角色分离,市场发布人员不知道什么是签名等等,也是在服务器端运行命令即可,需要输入密码,这个过程和开发人员隔离;
    • 如果仅有上述两个理由,那么用android默认的ant脚本也可以了,还希望android项目需要的类库也自动解决依赖问题,那么就使用maven吧。

    说一下集成maven的步骤。

    首先,要有一个通过eclipse和adt插件生成的android项目。可参见[cref 1448]。

    然后,需要设置环境变量:ANDROID_HOME,对于windows环境,需要在环境变量中添加即可,对于mac,可以在~/.bash_login文件中加入:

    export ANDROID_HOME=/Developer/java/android-sdk-mac

    下载maven-android-sdk-deployer:http://github.com/mosabua/maven-android-sdk-deployer/archives/master

    解压缩下载的文件,然后,通过命令行,进入到解压的目录下,执行:

    mvn clean install

    这个命令将会把android sdk的jar文件,包括google map等api安装到用户本地repository下。这一步应该不是必须的,我是按照官方文档执行的。因为以后为了解决maven报错的问题我整个删除了本地repository目录,继续使用maven android插件,没有问题。

    在现有的eclipse android项目根目录下,创建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.easymorse</groupId>

    <artifactId>hello</artifactId>

    <version>0.1-SNAPSHOT</version>

    <packaging>apk</packaging>

    <name>Hello</name>

    <dependencies>

    <dependency>

    <groupId>android</groupId>

    <artifactId>android</artifactId>

    <version>2.1_r1</version>

    <scope>provided</scope>

    </dependency>

    </dependencies>

    <build>

    <sourceDirectory>src</sourceDirectory>

    <plugins>

    <plugin>

    <groupId>

    com.jayway.maven.plugins.android.generation2

    </groupId>

    <artifactId>maven-android-plugin</artifactId>

    <version>2.3.3</version>

    <configuration>

    <sdk>

    <platform>7</platform>

    </sdk>

    <deleteConflictingFiles>true</deleteConflictingFiles>

    </configuration>

    <extensions>true</extensions>

    </plugin>

    <plugin>

    <artifactId>maven-compiler-plugin</artifactId>

    <configuration>

    <source>1.5</source>

    <target>1.5</target>

    </configuration>

    </plugin>

    </plugins>

    </build>

    </project>

     

    这里要注意的是,<sdk><platform>中的7表示是目标平台的android sdk版本,即2.1版本。要根据情况做调整,比如使用milestone,应该是6。

    为了在下面输入mvn命令可以简化,需要在settings.xml文件中加入:

    <pluginGroups>

    <pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup>

    </pluginGroups>

    这样,就可以在项目目录下使用maven命令打包部署了:

    mvn clean install android:deploy

    或者可以打包:

    mvn package

    这里默认会使用debug签名打包,如果需要为在android market发布的正式版本,可以参照:http://code.google.com/p/maven-android-plugin/issues/detail?id=2

    这里面的配置。

  • 相关阅读:
    POJ-3274 Gold Balanced Lineup---hash经典题!
    POJ-2481 Cows---树状数组的运用
    POJ-1195 Mobile phones---裸的二维树状数组(注意下标从1,1开始)
    hdu-2609 How many---最小表示法模板+set判重
    POJ-1509 Glass Beads---最小表示法模板
    POJ-3349 Snowflake Snow Snowflakes---最小表示法
    最小表示法
    POJ-2352 && hdu-1541 Stars---树状数组的运用
    BZOJ2163: 复杂的大门
    BZOJ2157: 旅游
  • 原文地址:https://www.cnblogs.com/jason-star/p/3411701.html
Copyright © 2011-2022 走看看