2009/05/09

Ubuntu 9.04 に Android 開発環境を整えた

うちのノートPCにインストールしているUbuntu 9.04 に Android 開発環境を整えました。

恥ずかしながら、これまで DDMS が使えないなどの問題があったのですが、adb を使用してのAndroid ファームのアップグレードなどはできたので放置しておりました。

ちなみにAndroid アプリの開発(のお勉強)は工人舎のミニノート(SC3KX06AS)で行なっていました。
さすがにEclipse動かすのはキツカッタ…。

例えば Eclipse を使わずにコマンドラインからAndroid Projectjを作成しようとした場合、次のようなエラーが発生しました。
~/work2/test$ android create project \
--target 1 \
--path ./myProject \
--activity MyActivity \
--package com.example.myproject

Exception in thread "main" java.lang.AssertionError
at com.android.sdkmanager.CommandLineProcessor.define(CommandLineProcessor.java:758)
at com.android.sdkmanager.SdkCommandLine.(SdkCommandLine.java:96)
at com.android.sdkmanager.Main.init(Main.java:125)
at com.android.sdkmanager.Main.run(Main.java:80)
at com.android.sdkmanager.Main.main(Main.java:72)

Ubuntuパッケージで提供されているsun-java6-bin, sun-java6-jdk, sun-java6-jre などをインストールして環境変数 JAVA_HOMEなどを設定してみたのですが、解決方法が分かりません。

(2009/07/28追記)
コメントで教えていただいたのですが、sudo update-alternatives –config javaを実行するという方法があるようです。
Ubuntu PCを手放してしまったため、自分ではまだ確認出来ていません…。
(2009/07/28追記終了)


そこで基本に戻ろうということで、Ubuntuパッケージで提供されているsun-java6-bin, sun-java6-jdk, sun-java6-jreはアンインストールし、www.java.comで配布されているJDKをインストールすることにしました。
Java SE ダウンロード - Sun Developer Network (SDN) [java.sun.com]
(2009/5/15 修正)
JDKダウンロードのリンクを修正

まずは jdk-6u13-linux-i586.binをダウンロードしたディレクトリに移動し、jdk-6u13-linux-i586.binを展開します。
$ sh jdk-6u13-linux-i586.bin


私は自分でUbuntuパッケージを作らずにインストールしたアプリはとりあえず$HOME/bin 以下に集めたいので、展開したjdk1.6.0_13のリンクを $HOME/bin/jdk として作成しました。
~$ cd ~/bin/
~/bin$ ln -s jdkを展開したディレクトリ/jdk1.6.0_13 jdk
~/bin$ ls $HOME/bin/jdk
COPYRIGHT bin man
LICENSE db register.html
README.html demo register_ja.html
README_ja.html include register_zh_CN.html
README_zh_CN.html jre sample
THIRDPARTYLICENSEREADME.txt lib src.zip


環境変数を設定します。
~/bin$ export JAVA_HOME=$HOME/bin/jdk
~/bin$ export PATH=$HOME/bin/jdk/bin:$PATH


再度 Android プロジェクトを作成してみます。
~$ cd ~/work2/test
~/work2/test$ android create project \
> --target 1 \
> --path ./myProject \
> --activity MyActivity \
> --package com.example.myproject
Created project directory: ./myProject
Created directory /share/xxx/work2/test/myProject/src/com/example/myproject
Added file ./myProject/src/com/example/myproject/MyActivity.java
Created directory /share/xxx/work2/test/myProject/gen/com/example/myproject
Created directory /share/xxx/work2/test/myProject/res
Created directory /share/xxx/work2/test/myProject/bin
Created directory /share/xxx/work2/test/myProject/libs
Created directory /share/xxx/work2/test/myProject/res/values
Added file ./myProject/res/values/strings.xml
Created directory /share/xxx/work2/test/myProject/res/layout
Added file ./myProject/res/layout/main.xml
Added file ./myProject/AndroidManifest.xml
Added file ./myProject/build.xml
Created directory /share/xxx/work2/test/myProject/tests
Created directory /share/xxx/work2/test/myProject/tests/src/com/example/myproject
Added file /share/xxx/work2/test/./myProject/tests/src/com/example/myproject/MyActivityTest.java
Created directory /share/xxx/work2/test/myProject/tests/gen/com/example/myproject
Created directory /share/xxx/work2/test/myProject/tests/res
Created directory /share/xxx/work2/test/myProject/tests/bin
Created directory /share/xxx/work2/test/myProject/tests/libs
Added file /share/xxx/work2/test/./myProject/tests/AndroidManifest.xml
Added file /share/xxx/work2/test/./myProject/tests/build.xml
~/work2/test$ ls
myProject


今度はAndroid Project が作成されたようです。

DDMS も試してみましたが、問題なく使用してスクリーンショットを撮ることが出きました。

2 件のコメント:

匿名 さんのコメント...

こんにちは。通りすがりです。
私も同様の問題に引っかかり、下記のような情報も見つけました。
ttp://rahulkrishnanblogs.wordpress.com/2009/06/11/android-create-avd/

既存環境との兼ね合いもありますが、こちらも使えない手ではないですね。ご参考までに。

ハナグロ さんのコメント...

> 匿名さん
おお、こんないい方法があったのですね。
ありがとうございます。

諸々の事情でUbuntu PCを手放してしまったのですぐには試せないのですが、後学のためにしっかり覚えておきたいと思います。