FLYING

/* TODO: 気の利いた説明を書く */

Eclipseで作ったAndroidプロジェクトをコマンドラインでビルドする

前準備

antでのビルドに必要なファイル群を生成する。

$ cd ~/workspace/your_project/
$ android update project -p ./

デバッグビルド

次のコマンドでビルドを実行する。

$ ant clean
$ ant debug

~/.android/debug.keystoreで署名されたapkがbin/{メインクラス名}-debug.apkに生成される。

リリースビルド

署名に使うkeystoreの情報をant.propertiesに書く。

key.store=path_to_your_keystore # 絶対パスまたはプロジェクトディレクトリからの相対パス
key.store.password=password_of_keystore
key.alias=your_alias
key.alias.password=password_of_alias

次のコマンドでビルドを実行する。

$ ant clean
$ ant release

未署名のapkがbin/{メインクラス名}-release-unsigned.apkに,指定したkeystoreで署名したapkがbin/{メインクラス名}-release.apkに生成される。

デバッグビルドとリリースビルドで処理を分岐させる

ADT17からgen/BuildConfig.javaにDEBUGという定数が自動的に定義されるようになったそうな。

if (BuildConfig.DEBUG) {
	android.util.Log.d("DEBUG", "Debugログだよ〜");
}

Mac環境で.bashrcなどに書いておくと捗る

alias javac='javac -J-Dfile.encoding=UTF-8'
alias java='java -Dfile.encoding=UTF-8'
export _JAVA_OPTIONS='-Dfile.encoding=UTF-8'