1. コマンドラインでのビルドとパッケージの作成
== 準備 Androidコマンドへのパスを通しておく $ vi ~/.bash_profile alias ls="ls -F" export PATH=$PATH:\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:\ /cocos/adt-bundle-mac-x86_64-20130522/sdk/platform-tools:\ /cocos/adt-bundle-mac-x86_64-20130522/sdk/tools:\ /cocos/android-ndk-r8e == プロジェクトをダウンロード $ git clone https://github.com/gabu/AnimCalc.git $ cd AnimCalc == 鍵ファイルの作成 $ export _JAVA_OPTIONS='-Dfile.encoding=UTF-8' $ keytool -genkey -alias blues -keystore .keystore Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 キーストアのパスワードを入力してください: 新規パスワードを再入力してください: 姓名を入力してください。 [Unknown]: a 組織単位名を入力してください。 [Unknown]: personal 組織名を入力してください。 [Unknown]: blueskite 都市名または地域名を入力してください。 [Unknown]: tokyo 州名または地方名を入力してください。 [Unknown]: kanto この単位に該当する 2 文字の国番号を入力してください。 [Unknown]: JP CN=a, OU=personal, O=blueskite, L=tokyo, ST=kanto, C=JP でよろしいですか? [no]: yesの鍵パスワードを入力してください。 (キーストアのパスワードと同じ場合は RETURN を押してください): <単純にReturnのみ> $ ls -al .keystore // 鍵ファイルの作成 -rw-r--r-- 1 hoge staff 1235 Jul 1 11:35 .keystore $ vi ant.properties // 新規作成 key.store=.keystore key.alias=blues // 以下も設定できるがソース管理を考慮して定義すること key.store.password=****** key.alias.password=****** (上記例では同じパスワード) == プロジェクトのビルド $ android update project -p . -t 1 // パスとインストール対象のデバイス設定 → sdk.dirの記述されたlocal.propertiesファイルが生成 $ ant debug ... BUILD SUCCESSFUL とでればOK $ ls -ltr bin/* ... AnimCalc-debug.apk // デバッグ用はこちらを使う AnimCalc-debug-unaligned.apk // zipalign(32bitに整えるツール)適用前ファイル(使わない) $ ant release // ant.propertiesでパスワードを設定していなかったらきかれる $ ls -ltr AnimCalc-release-unsigned.apk // 署名なしアプリはインストール出来ないので無視 AnimCalc-release-unaligned.apk // zipalign適用前ツール AnimCalc-release.apk // リリース時はこちらを利用 $ ant clean // binディレクトリを削除する $ android list targets // 現在の開発環境で利用可能なターゲット Available Android targets: id: 1 or "android-17" Name: Android 4.2.2 API level: 17 (....一部省略) ABIs : armeabi-v7a == プログラムのインストール、アンインストール ※ ターゲットがあること(端末なら接続中、エミュレータなら起動中のこと) - インストール $ adb install bin/AnimCalc-release.apk 1000 KB/s (368905 bytes in 0.359s) pkg: /data/local/tmp/AnimCalc-release.apk Success - パッケージ名の調査 $ adb shell # cd /data/data # ls |grep -v com.android net.gabuchan.android.animcalc // 名前がわかった # exit - アンインストール $ adb uninstall net.gabuchan.android.animcalc Success == PCからアプリを起動 $ adb shell am stop -a android.intent.action.MAIN -n net.gabuchan.android.animcalc/.MainActivity
2. NDKの使い方を深める
$ ndk-build APP_ABI=all // 4つのアーキテクチャでビルドする (引数を指定しなかったらarmeabi/ のみ) $ ls libs/ armeabi/ armeabi-v7a/ mips/ x86/ $ ls libs/armeabi-v7a/ libnative-audio-jni.so* $ ndk-build clean // ビルドの初期化