ubuntu10.04でのandroidの開発環境の設定

androidを始めてみました。 とりあえず、androidを始める前に思っていた疑問について

android?

  • アプリ開発の費用は?
    • 無料
  • 開発には何を揃えなければいけないの?
    • 実機だけ(仮想実行環境で満足するなら実機もいらない)
      • もちろんセンサーなどの実機固有の入力はつかえない
  • 開発の言語は?
    • 主にjava。(scalaでやっている人もいたけれど…サイズ増。速度低下)
  • 開発環境(OS)は?
  • 開発に必要なツールは?
    • SDKeclipseが推奨されている(emacsで作業している人もいる)
もう少し細かな内容
  • 実機のandroidと通信するには?
    • adbコマンドを使う(あるいはeclipse上から操作)|
  • PATHの設定は必要?(eclipse)
  • デバッガなどはついている?
    • ある。ddms(Dalvik Debug Monitor)
    • printf的なdebugは?
      • android.util.logのlog.d(, )などを利用

作業

ちなみに、android2.2でサンプルを実行するところまで作業してみました。
以下の3つの作業が必要みたいです。

以下に順に説明していきます。

事前準備

eclipseもなかったのでaptで揃えた。

for ubuntu user

本家のSDKのintallチュートリアルには以下のような記述がある。

If you will be developing in Eclipse with the Android Development Tools (ADT) Plugin ― the recommended path if you are new to Android ― make sure that you have a suitable version of Eclipse installed on your computer (3.4 or newer is recommended).

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

ubuntu(10.04)のaptで取得できるeclipseのversionは3.5だったので問題なさそう。

for ubuntu 64bit user

32bit互換のためのライブラリが必要。

eclipseが入ってなく、64bitの環境だったので以下のコマンドを入力してインストールした。

sudo apt-get install ia32-libs sun-java6-jdk eclipse

eclipseのinstallにしばらく時間がかかりそうだったので並行して次の作業に移った。

AndroidSDKのインストール

なにやら、updateが必要なので注意。

wget http://dl.google.com/android/android-sdk_r07-linux_x86.tgz
tar zxvf android-sdk_r07-linux_x86
cd android-sdk_r07-linux_x86
./tools/android update sdk 
## 開かれるウィンドウでaccept allを選択

実際にandroidのemulatorを試したければ、"tools/android"を実行し仮想デバイスを生成後それを起動すれば良い。(eclipseの設定時に詳細を後述)

pathを通したければ、.zsh_profileや.zshrcなどに(あるいは.bash_profileや.bashrcに)

export PATH=$PATH/"<your sdk location>/android-sdk_r07-linux_x86/tools"

と書いておく。(各自がsdkをインストールした先のパス)こうすると、どこからでもadbコマンドやandroidコマンドが呼び出せるようになる。

note:(ドキュメントはどこにある?)

通常のアプリケーションならアプリケーションのディレクトリの中に"docs"などの名前のドキュメントが格納されたディレクトリが存在する。これがandroidには存在しない。どこにあるのだろう?と不思議に思っていたところ、androidのupdateにより、docsディレクトリも生成された。ドキュメントもソースコードの一部でupdateの対象というのは面白いと思った。

android用にeclipseを設定

行う作業は以下の2つ

android-sdkのパスを通す。

eclipseを起動して、「Wndow > preferences > android/SDK > SDK location:」のダイアログに

<your sdk location>/android-sdk-linux_x86

を追加(Browse..で入力)。

note:(プロジェクト毎にsdk locationを設定しなければならない?)

出典をわすれたけれど、WorkSpaceを変えた際にはsdk locationを再設定する必要があるらしい。
とりあえずは、再設定の心配はない模様。

eclipseに (ADT) Plugin

eclipse上で「Help > Install New Software... > work with:」のダイアログに

https://dl-ssl.google.com/android/eclipse/

としてサイトを登録。名前は適当にadtとでもしておく。しばらくdownloadで時間がかかる。選択できる候補を全部入れる。

sampleアプリケーションの実行

virtual deviceの作成

eclipseで「Window > Android SDK and AVD Manager > Virtual Device」を選択してnewをクリック。パラメータの指定をしてcreate AVDをクリックしで作成。以下のようなパラメータで作成した。
(はじめにTargetを選ばないと名前の選択ができないことに注意。しばらく悩んだ。)

name: 2.2_HVGA
Target: Android 2.2
SD Card:
  Size: 32
Skin:
  Built-in Default (HVGA)
sample projectの実行

eclipse上で「File > New > Other > Android > Android Project」を選択
Contentsの"create project from existing source"を選択
Locationをbrowse..で指定。以下のような文字列が設定される。

<your sdk location>/android-sdk-linux_x86/samples/android-8/Snake

Build targetを上記virtual deviceのバージョンと合わせて設定(ここでは2.2を設定)。

note:(ERROR: Unable to open class fileというエラーを吐く。実行できない?)

正確には以下のようなエラーが出力される。

ERROR: Unable to open class file <your sdk location>/android-sdk-linux_x86/samples/android-8/Snake/gen/com/example/android/snake/R.java: No such file or directory

cleanしてから実行すれば問題なく実行される。内部で生成されるantなどのタスクの実行順序が少しおかしいのかもしれない。
対処方法は日本androidの会の[ワーキンググループ/ハンズオンセッション|Android SDKのインストール手順 ]の項に書いてあった。

初期状態では、クラスファイルが作成されていないので、エラーが発生する場合があるので、Project > Cleanを選択するとエラーがクリアされます。

http://android.siprop.org/index.php?%A5%EF%A1%BC%A5%AD%A5%F3%A5%B0%A5%B0%A5%EB%A1%BC%A5%D7%2F%A5%CF%A5%F3%A5%BA%A5%AA%A5%F3%A5%BB%A5%C3%A5%B7%A5%E7%A5%F3%2FSDKInstall

eclipse上で「Project > clean」を実行してから、 「Run > Run As > Android Application」を選択すると、androidのemulatorが立ち上がり、emulatorの方に転送されたアプリケーションが実行される。