我們最近宣佈了 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 Executable (.dex) 格式的檔案。 它執行經過 Java 語言編譯器編譯並轉換為 .dex 格式的類。 構建工具需要支援此過程,才能編譯包含依賴項的相容 Android 應用程式。
將外部庫包含在 Android 應用程式中基本上有兩種選擇。第一種是手動將 jar 檔案複製到專案內的 libs 目錄中,並在 Eclipse 中更新 classpath。這是最簡單的解決方案,也是 ADT 外掛最支援的方法。缺點是您必須手動管理依賴項。另一種方法是利用第三方外掛,例如 Maven Android Plugin,它能自動從 Maven 倉庫中包含依賴項。
在本文中,我將詳細介紹如何使用 Android 命令列工具、Maven、Maven Android Plugin 和 Android Maven artifacts 來編譯一個使用 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 配置中指定這一點。
<packaging>apk</packaging>
要在構建任務中配置 Maven Android 和 Maven Compiler 外掛,請將 sdk 平臺設定為所需級別。在此示例中,它設定為 9,對應於 Android 2.3.1 版本。模擬器 avd 值是您在 AVD Manager 中定義的 AVD(Android Virtual Device)的名稱。在此示例中,AVD 的名稱為“9”,但您可以隨意命名 AVD,只要與您建立 AVD 時指定的名稱一致即可。這是構建和執行 Android 應用程式所需的外掛基本配置...