2011年2月27日日曜日

Debian lenny に android 開発環境をインストールしたときのメモ

はじめに

自分のPCにAndroid開発環境を入れたときのメモです。 環境は下記のとおりです。

  • モデル: ASUS EeePC 901-16G
  • CPU: Intel Atom 1.5GHz
  • メモリ: 2GByte
  • ディスク: SSD 16GByte
  • OS: Debian GNU/Linux 5.0.8 (lenny)

サンプルをビルドして、私のGalaxy Sで動作させたいと思います。 Eclipseはここではインストールしません。

JDKとAndroid SDKのインストール

まずはSDKのインストール。 Android DevelopersのWEBページに行き、インストールについてのドキュメントを探す。

http://developer.android.com/index.html

SDKのインストール手順はここに書かれていた。

http://developer.android.com/sdk/installing.html

JDKが必要との事だが、私のPCにはJDKが入っていなかったので、ここで一緒インストールする。 リンクされているJDKのダウンロードページに飛ぶ。

http://www.oracle.com/technetwork/java/javase/downloads/index.html

ここでLinux用のJDKをダウンロード。 ダウンロードしてきたファイルを実行すれば、JDKが展開される。

takuya@takuya-netbook:~/android$ chmod +x jdk-6u23-linux-i586.bin
takuya@takuya-netbook:~/android$ ./jdk-6u23-linux-i586.bin
:
Press Enter to continue.....
Done.

takuya@takuya-netbook:~/android$ ls
jdk-6u23-linux-i586.bin  jdk1.6.0_23

開発環境に必要なファイルは~/android/以下にインストールし、~/android/bin/以下に実行ファイルへのリンクを作成する事にする。 環境変数を設定するスクリプトも用意しておく。

#!/bin/bash

# ~/.bashrc に下記を加えないとプロンプトが変更されない
# # CUSTOM_PS1
# if [ -n "$CUSTOM_PS1" ]; then
#     PS1="$CUSTOM_PS1"
# fi

export PATH="$HOME/android/bin:$PATH"
export JAVA_HOME="$HOME/android/jdk1.6.0_23"
export CUSTOM_PS1="\u[android]@\h:\w\$ "
/bin/bash -i

AndroidのSDKダウンロードページからLinux用のSDKをダウンロードする。

http://developer.android.com/sdk/index.html

ダウンロードしたファイルを展開し、SDK and AVD Managerを起動する。

takuya@takuya-netbook:~/android$ tar zxf android-sdk_r09-linux_x86.tgz
takuya@takuya-netbook:~/android$ cd android-sdk-linux_x86/tools/
takuya@takuya-netbook:~/android/android-sdk-linux_x86/tools$ ./android

「Available packages」から、必要なパッケージを選び、ダウンロード&インストールする。 自分のGalaxy Sは2.2なので、2.2用のパッケージを選んだ。

これでインストール完了。

エミュレータの起動

さきほどのSDK and AVD Managerで「Virtual Devices」→「New」を選ぶと、新しく作成するAVDの設定を聞いてくるので適当に入れて「Create ADV」を押す。しばらく待つと完了する。

作成したAVDが一覧に現れた。選択して、「Start」を押すとエミュレータが起動する。

ブラウザも動作する。

「Start」を押したときに出るダイアログで「Scale display to real size」をチェックすると、縮小表示もできる。

これでエミュレータが使えるようになった。

サンプルのビルド

ビルドにはantというツールが要るので、下記のページから取ってきてインストールした。 http://ant.apache.org/ http://ant.apache.org/bindownload.cgi

下記を参考に、サンプルのビルドを行った。

http://developer.android.com/guide/developing/other-ide.html#Building http://developer.android.com/resources/samples/get.html

サンプルは~/android/android-sdk-linux_x86/samples/android-8/ApiDemosを適当な場所にコピーしてからビルドした。

takuya[android]@takuya-netbook:~/task/android/samples$ android update project -s -n API_Demos -t 1 -p ApiDemos/
takuya[android]@takuya-netbook:~/task/android/samples/ApiDemos$ ant debug
Buildfile: /home/takuya/task/android/samples/ApiDemos/build.xml
    [setup] Android SDK Tools Revision 9
    [setup] Project Target: Android 2.2
:
:
:
BUILD SUCCESSFUL
Total time: 1 minute 31 seconds
takuya[android]@takuya-netbook:~/task/android/samples/ApiDemos$ 
takuya[android]@takuya-netbook:~/task/android/samples/ApiDemos$ ls bin/
API_Demos-debug-unaligned.apk  API_Demos-debug.apk  API_Demos.ap_  classes  classes.dex

API_Demos-debug.apkというファイルができた。

エミュレータでの実行

さきほどビルドしたサンプルをエミュレータへインストールする。エミュレータを立ち上げた状態でadb installを実行した。

takuya[android]@takuya-netbook:~/task/android/samples/ApiDemos$ adb install bin/API_Demos-debug.apk
242 KB/s (2459699 bytes in 9.910s)
        pkg: /data/local/tmp/API_Demos-debug.apk
Success

エミュレータのアプリ一覧に「API Demos」が追加された。

実機を接続する

所有しているGalaxy SをUSBで接続した。OSの種類やバージョンによって設定が異なるが、私の場合は、

/etc/udev/rules.d/51-android.rules

というファイルを作り、

SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="681c", GROUP="takuya", SYMLINK+="android%n"

の一行を書き込む事で接続できるようになった。IdVendorとidProductはGalaxy S用である。adb devicesで接続されているか確認できる。

takuya[android]@takuya-netbook:~/android$ adb devices
List of devices attached
10004682a26c    device

実機にインストールする

実機へのインストールはadb -d installを実行すればよい。

takuya[android]@takuya-netbook:~/task/android/samples/ApiDemos$ adb -d install bin/API_Demos-debug.apk
947 KB/s (2459699 bytes in 2.536s)
        pkg: /data/local/tmp/API_Demos-debug.apk
Success