AndroidアプリをCUIでサーバ上で作る環境

現在サーバでよく使われるだろうCentOSで。

とりあえず、SDKをダウンロードしてパスを通してみる。
http://developer.android.com/intl/ja/sdk/index.html

$ wget http://dl.google.com/android/android-sdk_r12-linux_x86.tgz
$ tar zxvf android-sdk_r12-linux_x86.tgz 
$ export PATH=$PATH:~/android-sdk-linux_x86/tools/

SDKツールのコマンドを叩く。

$ android
~/android-sdk-linux_x86/tools/android: line 84: java: command not found

java がないのでいれる。

$ sudo yum install java


GUIが使えない環境では,androidコマンドから各プラットフォームバージョンの
アーカイブをダウンロードできないのでCUI向けの androidコマンドのオプションで。

$ android update sdk -u
$ android list target
Available Android targets:
id: 1 or "android-10"
Name: Android 2.3.3
Type: Platform
API level: 10
Revision: 2
Skins: WVGA854, WVGA800 (default), WQVGA400, QVGA, HVGA, WQVGA432
id: 2 or "android-13"
Name: Android 3.2
Type: Platform
API level: 13
Revision: 1
Skins: WXGA (default)

antをインストールしてコンパイルできるようにする。

$ sudo yum install ant

プロジェクト作成。

$ android create project -n HelloWorld -t 1 -k com.example.helloworld -p ~/workspace/HelloWorld -a HelloWorld

デバッグビルドする。

$ ant debug
Buildfile: build.xml
BUILD FAILED
java.lang.NoClassDefFoundError: org/apache/tools/ant/util/DeweyDecimal

となって、なんか足りない。ADTか?

ant のバージョンがCentOSは古いらしい。

CUIのみでAndroidの開発環境を作る 

$ wget http://ftp.kddilabs.jp/infosystems/apache//ant/binaries/apache-ant-1.8.2-bin.tar.gz
$tar zxvf apache-ant-1.8.2-bin.tar.gz
$ export ANT_HOME=~/apache-ant-1.8.2/
$ ant -version
Apache Ant(TM) version 1.8.2 compiled on December 20 2010
$ ant debug
Buildfile: build.xm
[echo] Running zip align on final apk...
[echo] Debug Package: ~/workspace/HelloWorld/bin/HelloWorld-debug.apk
BUILD SUCCESSFUL
Total time: 9 seconds

デバッグ環境は揃った。

ちなみに公開apkをつくる。

$ ant release
[apkbuilder] Creating HelloWorld-unsigned.apk for release...
-release-prompt-for-password:
-release-nosign:
[echo] No key.store and key.alias properties found in build.properties.
[echo] Please sign /home/nishi/workspace/HelloWorld/bin/HelloWorld-unsigned.apk manually
[echo] and run zipalign from the Android SDK tools.
release:
BUILD SUCCESSFUL
Total time: 5 seconds

署名とApk適正化ツール zipalignを使いなさいと言われる。

Android SDK1.6のADT(0.9.3以上)で、GUIを使って証明書付きのAPKファイルを作製すると、自動的にZipalignをかけますので、何もする必要はありません。 


Eclipseを使っているとわからないが、内部的には適正化を行っている。

zipalign | Android Developers 

アプリケーションへの署名 | Android Developers