Android開発環境をセットアップしてMavenでビルドできるようにする
環境はLion上で構築します。OSが違う方は適時読み替えて下さい。
2012/05/31時点の情報なのでVerUP等により、今後は方法は変わるかもしれません。
この点はご注意下さい。
Javaを入れます。
Android SDKをダウンロードして任意の場所におきます。
Eclipseをセットアップします。
ADTにAndroid SDKを結びつけます。
任意の場所に置いたパスを入れます。
必要なコンポーネントを選んでインストールします。
ダウンロードしながらインストールして時間がかかります。
必要なコンポーネントによっては端末の開発者登録ID等が
要求されますので入力して進めます。
Eclipse Marketplaceから
Android Configurator for M2E をインストールします。
Eclipse -> 環境設定 -> Maven -> Discovery を開いて
Open Catalogボタンを押します。
maven.runtime.3.0.3をインストールします。
開発用の証明書を作ります。
Terminalの文字コードはSJISにして文字化けしないように進めます。
$ cd Documents $ mkdir keystore $ cd keystore $ keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 -dname "CN=Android Debug,O=Android,C=US" キーストアのパスワードを入力してください: 新規パスワードを再入力してください: 10,000 日間有効な 1,024 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています ディレクトリ名: CN=Android Debug, O=Android, C=US <androiddebugkey> の鍵パスワードを入力してください。 (キーストアのパスワードと同じ場合は RETURN を押してください): [debug.keystore を格納中] $ keytool -list -v -keystore debug.keystore -storepass 123456 キーストアのタイプ: JKS キーストアのプロバイダ: SUN キーストアには 1 エントリが含まれます。 別名: androiddebugkey 作成日: 2012/05/31 エントリタイプ: PrivateKeyEntry 証明連鎖の長さ: 1 証明書[1]: 所有者: CN=Android Debug, O=Android, C=US 発行者: CN=Android Debug, O=Android, C=US シリアル番号: 4fc6df8b 有効期間の開始日: Thu May 31 12:03:39 JST 2012 終了日: Mon Oct 17 12:03:39 JST 2039 証明書のフィンガープリント: MD5: B5:BB:BF:B6:D8:94:16:7E:61:D4:89:42:78:A8:64:E7 SHA1: 6D:B3:ED:78:AF:19:07:90:4A:8E:80:8A:F7:99:46:7A:64:00:07:4A 署名アルゴリズム名: SHA1withRSA バージョン: 3 ******************************************* *******************************************
$vi $HOME/.m2/settings.xml
settings.xml
<settings> <profiles> <profile> <id>sign</id> <properties> <keystore> /Users/matakeda/Documents/keystore/debug.keystore </keystore> <storepass>123456</storepass> <keypass>123456</keypass> <alias>debug</alias> </properties> </profile> <profile> <activation> <activeByDefault>true</activeByDefault> </activation> <id>always</id> <properties> <android.sdk.path> /Users/matakeda/Documents/android-sdk-macosx </android.sdk.path> </properties> </profile> </profiles> </settings> <settings> <pluginGroups> <pluginGroup> com.jayway.maven.plugins.android.generation2 </pluginGroup> </pluginGroups> </settings>
Maven Projectを作成します。
Add ArcheType
Archetype Group Id: de.akquinet.android.archetypes
Archetype Artifact Id : android-quickstart
Archetype Version: 1.0.8
Repository URL: 空白
を入力します。
追加したArcheTypeを選びます。
作りたいProjectの情報を入れます。
※plug-inのVersionは3.2.0を入れて下さい。
画像では違うものになっています。
文字コード等を任意のものに変更します。
maven installしてみるとtargetにファイルが出来上がります。
文字コードの調整等をした最終的なpom.xmlです。
Android SDK等はケースによって変わります。
<?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>jp.techie.android</groupId> <artifactId>sample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>apk</packaging> <name>sample</name> <properties> <platform.version> 2.3.3</platform.version> </properties> <dependencies> <dependency> <groupId>com.google.android</groupId> <artifactId>android</artifactId> <version>${platform.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>3.2.0</version> <configuration> <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile> <assetsDirectory>${project.basedir}/assets</assetsDirectory> <resourceDirectory>${project.basedir}/res</resourceDirectory> <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory> <sdk> <platform>10</platform> </sdk> <undeployBeforeDeploy>true</undeployBeforeDeploy> </configuration> <extensions>true</extensions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>