現在サーバでよく使われるだろう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は古いらしい。
$ 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を使っているとわからないが、内部的には適正化を行っている。
アプリケーションへの署名 | Android Developers