我们最近宣布了Spring Android 的 M1 版本,并且随着该版本的发布,围绕如何构建使用 Spring Android Rest Template 和 Spring Android Commons Logging 库的 Android 应用程序的问题出现了。Google 提供了几种编译 Android 应用程序的方法,包括 SDK 命令行工具和 Eclipse 的 ADT(Android 开发工具)插件。不幸的是,这些方法都没有包含集成的依赖项管理支持。
概述
作为 Java 开发人员,我们已经开始欣赏像Maven和Gradle这样的工具来管理外部依赖项。虽然传统的 Java 应用程序在 JVM 中运行,但 Android 应用程序在 Dalvik 虚拟机上运行。Dalvik VM 执行 Dalvik 可执行文件(.dex)格式的文件。它运行由 Java 语言编译器编译的类,这些类已转换为 .dex 格式。如果构建工具能够编译具有依赖项的兼容 Android 应用程序,则它需要支持此过程。
在 Android 应用程序中包含外部库基本上有两种选择。第一种是手动将 jar 复制到项目中的 libs 目录中,并在 Eclipse 中更新类路径。这是最简单的解决方案,也是 ADT 插件最支持的解决方案。缺点是您必须手动管理依赖项。或者,可以使用像Maven Android Plugin这样的第三方插件来自动包含来自 Maven 存储库的依赖项。
在这篇文章中,我将逐步介绍使用 Android 命令行工具、Maven、Maven Android Plugin 和Android Maven 工件编译一个使用 Spring Android 库的示例应用程序并将其部署到 Android 模拟器中的过程。配置 Maven 后,可以轻松创建构建、将其部署到模拟器、运行测试以及打包应用程序以部署到 Android Market。在运行示例代码之前,我们首先将重点介绍 pom.xml 中必要的配置设置。此示例中使用的组件列在下面。
Maven 配置
本节介绍使用 Spring Android 和 Maven Android Plugin 进行开发所需的 pom.xml 部分。
Maven Android Plugin
为了使用 Maven 构建 Android 应用程序,您需要在 pom.xml 文件中配置 Maven Android Plugin。Android 应用程序作为 apk 文件部署到设备,而不是 jar 文件。您必须在打包配置中指定这一点。
<packaging>apk</packaging>
要在构建任务中配置 Maven Android 和 Maven Compiler 插件,请将 sdk 平台设置为所需的级别。在此示例中,它设置为 9,对应于 Android 版本 2.3.1。模拟器 avd 值是您在 AVD 管理器中定义的 AVD(Android 虚拟设备)的名称。在这种情况下,AVD 的名称为“9”,但 AVD 可以命名为您喜欢的任何名称,只要它与您在创建 AVD 时指定的名称匹配即可。这是构建和运行 Android 应用程序所需的插件的基本配置……