2010年7月22日木曜日

Androidアプリ開発日記 4

前回のあらすじ。

Ubuntu 8.04 LTSでのAndroid開発環境を構築しました。

前回の続き。

では、今度はUbuntu 10.04でのAndroid開発環境構築のご紹介ですね(ぇえええ

いつまで開発環境構築ネタを引っ張るのか…。

先日…と言ってももう2か月も前のことですが、Ubuntuの最新版且つLTS版の10.04がリリースされ、起動の速さ等でいろいろと話題になりました。
実際、起動も終了もめちゃくちゃ早いです!
前回は、VirtualBoxで開発環境を構築するということで、導入が容易な8.04 LTSを使用しましたが、そこは新しいもの好きの伊藤として、同じUbuntuでも10.04を実際に使用してみて、生の情報をご提供できればと思い、今回のご紹介の流れとなりました(言い訳

やることは、Ubuntu 8.04 LTSの時とほとんど一緒ですw
やり方をちーと変えたので、その辺のご紹介ですねw


  • JDK(Java SE Development Kit)インストール
http://java.sun.com/javase/ja/6/download.html

Ubuntu 8.04 LTSの時は、JDKを apt-get でインストールしたので、今回はwebから最新版をダウンロードして、インストールします。
執筆時の7/22現在の最新版は1.6.0.21ですね。
jdk-6u21-linux-i586.bin をダウンロードし、下記の作業を行います(FireFox 3.6.6で標準的にダウンロードした場合です)。

$ cd
$ cd ダウンロード/
$ chmod +x jdk-6u11-linux-i586.bin
$ ./jdk-6u21-linux-i586.bin

ダウンロードした jdk-6u21-linux-i586.bin に実行権限を与え、ファイルを解凍します。
解凍してできた jdk1.6.0_21 フォルダを、/opt/ にコピーします。

$ sudo cp -R jdk1.6.0_21/ /opt/

コピーが完了したら、環境変数を設定します。
ホームディレクトリ( /home/hoge/ )にある .bashrc というファイル(隠しファイルです)の最後の行に、以下のテキストを加えます。
※"hoge"は、自分のユーザ名です。
 以下全て"hoge"は自分のユーザ名に置き換えてください。

JAVA_HOME=/opt/jdk1.6.0_21
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

どういうことかというと、

1.JAVA_HOME=/opt/jdk1.6.0_21
 JAVA_HOME という環境変数に "/opt/jdk1.6.0_21" を設定

2.PATH=$PATH:$JAVA_HOME/bin
 PATH 環境変数に "/opt/jdk1.6.0_21/bin" を追加

3.CLASSPATH=$JAVA_HOME/lib/tools.jar
 java のクラスライブラリへのパスを 環境変数 CLASSPATH にセット

4.export JAVA_HOME PATH CLASSPATH
 環境変数 JAVA_HOME、PATH、CLASSPATH サブプロセスでも有効になるように export

という感じです。
編集が終わったらファイルを保存し、読み込ませます。

$ cd
$ sudo source ~/.bashrc
$ java -version

java コマンドを打てば、ちゃんと環境変数が通っていることがわかります。
同時に、ちゃんと"1.6.0_21"がインストールされたことがわかります。
※環境変数が通っていないと、「Javaはインストールされていないので、apt-get でインストールしてください」といったようなメッセージが出ます。


  • Eclipse(Pleiades)インストール
前回はwebからダウンロードしてインストールしましたので、今回は apt-get でインストールしてみます。

$ sudo apt-get install eclipse


余談…というわけでもありませんが、apt-get や Ubuntuソフトウェアセンター、Synaptic パッケージ・マネージャでeclipseをインストールすると、JDKの1.6.0_18が一緒にインストールされ、先程インストールした1.6.0_21の意味がなくなりますwww
※ apt-get ではなく、普通にJDKをダウンロードしてインストールする場合の勉強になったと思って勘弁してくだしあw

どうやらパッケージマネージャの方が優先されるようで、何とかして先程の1.6.0_21を優先させようと頑張ってみましたが、環境変数はどうあっても1.6.0_18から頑なに離れず、1.6.0_18を消すと、なぜかEclipseまで消えてしまうという始末w
とは言っても、実際にはJDKだけのバージョンを上げる方法はありますので、どうにでもなるのでしょうが、面倒臭くなった1.6.0_18でも影響はありませんので、そのままでいきましょう。
前回、Ubuntu 8.04 LTSの時に apt-get でインストールしたJDKのバージョンは1.6.0_20だったのに、それよりも新しい10.04 LTSでインストールされるJDKが1.6.0_18と古いのはなんでやねんという感じですが、そこは「金魚のフンだからさ」ということで片づけておきましょう。

Eclipseのインストールが完了すると、パネルのアプリケーションにプログラミングという項目ができ、そこにEclipseのランチャが用意されていますので、とりあえず一度起動してみます。
3.5.2-2(GALILEO)がインストールされたのがわかりますね。
とりあえず、この段階でランチャをパネルに追加しておきます(ランチャを右クリックして「このランチャをパネルへ追加(P)」を選択)。
前回はホームディレクトリにEclipseをインストールしたので、ランチャは手作りだったことを考えると、apt-get でインストールするとこの辺が楽なのがいいですねw

英語環境でも良ければこのままGOなのですが、私は日本語化したいので、Pleiadesもダウンロードします。
http://mergedoc.sourceforge.jp/

前回同様、Pleiadesの本体のみをダウンロードします。
※「Pleiades All in One 日本語ディストリビューション (zip ファイル) ダウンロード」の下にあります。

安定版は1.3.1(執筆時の7/22現在)のようなので、それをダウンロードします。
ホームディレクトリに preiades フォルダを作成し、そこにダウンロードしたファイルを解凍します。
※ /home/hoge/pleiades/*** になります。

EclipseにPleiadesを読み込ませるため、下記作業を行います。
今回Eclipseは apt-get でインストールしたため、前回とはコピー先が異なります。

$ cd
$ cd pleiades/
$ sudo cp -R features/* /usr/lib/eclipse/features/
$ sudo cp -R plugins/* /usr/lib/eclipse/plugins/

pleiades フォルダ内の features フォルダと plugins フォルダの中身を、Eclipseがインストールされたフォルダ内の同フォルダにコピーするということですね。

次に、/usr/lib/eclipse/ にある eclipse.ini をちょっと書き換えます。
最後の行に下記テキストを一行で加えます。

$ sudo gedit /usr/lib/eclipse/eclipse.ini

-javaagent:/usr/lib/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

これまた、今回はEclipseを apt-get でインストールしましたので、Pleiadesプラグインの指定位置(フルパス)が異なります。
ここで、ホームディレクトリのPleiadesプラグインの位置を指定してしまうと、「config.iniが見つかりません」というようなエラーが発生します。

どうやらコレ、権限の問題ではないようで、rootで同じような設定にしてもダメでした。
前回余談でお話した、「ホームディレクトリにある .eclipse フォルダに eclipserc というファイルを作って~」という方法も、NGです。
要は、apt-get でインストールしたEclipseは、自身が展開されているディレクトリの設定ファイルを読みに行くようです。
これに気づくまでに、結構時間がかかりましたw
ある意味、前回「はいはい全部ホームディレクトリでやればいいんでしょ!」がヒントになりましたw
今回はその逆で、「はいはい全部 /usr/lib/eclipse/ ディレクトリでやればいいんでしょ!」ってコトですw

あと、前回同様、スプラッシュ(起動時に表示される画像のようなアレ)を変更するため、下記をコメントアウトします。

-showsplash
org.eclipse.platform



#-showsplash
#org.eclipse.platform

これで eclipse.ini を保存し、端末からEclipseを起動します。

$ cd
$ eclipse -clean


一応、私の環境ではこれで日本語化された状態のEclipseが立ち上がりました。

  • Android SDKインストール
http://developer.android.com/sdk/index.html

ここからは、前回とまったく同じですね。
ほとんどコピペwww

前回同様、「Android 2.2 SDK, Release 6」(android-sdk_r06-linux_86.tgz)をダウンロードし、ホームディレクトリ( /home/hoge/ )に apps フォルダを作成し、その中に解凍しました。
※ /home/hoge/apps/android-sdk-linux_86/*** になります。


  • ADT(Android Development Tools)プラグインインストール
Eclipseを起動し、「ヘルプ」→「新規ソフトウェアのインストール」を選択し、「作業対象」に「https://dl-ssl.google.com/android/eclipse/」を打ち込み、追加ボタンを押します。
リポジトリ名は適当に、「ADT」とつけておきます。
「Developer Tools」にチェックを入れ、「次へ」。
使用条件のテキストを表示させた上で、条項に同意して「完了」。
※テキストを表示しないと、条項に同意して「完了」しても、インストールされません。

Eclipseの再起動を促されるので、流れに身を任せます。

Eclipseが再起動したら、「ウィンドウ」→「設定」→「Android」を選択し、SDKロケーションにAndroid SDKのディレクトリ(今回の場合、/home/hoge/apps/android-sdk-linux_86/)を設定します。
※何かメッセージが出てきたら、とりあえず「続行」「OK」にしますw


  • AVDs(Android Virtual Devices)の作成
Eclipseの「ウィンドウ」→「Android SDK and AVD Manager」を選択し、左側の「Available Packages」を開いて、既に登録されているリポジトリにチェックを入れて、Accept Allボタンにもチェックを入れて、パッケージをインストールします。
前回、Acceot Allなんてあったっけかなぁ…。

左側の「Virtual Devices」を開いて、「新規」ボタンで適当なAVDを作成します。
※今までSDK 2.2ばかりでしたので、今回はちょっとバージョンを変えてみましょう。

とりあえず、名前は「sdk1.5_test」とし、ターゲットは「Android 1.5 - API Level 3」を選択し、SD Cardのサイズは「16MiB」、Skinのビルトインは「Default(HVGA)」にしておきます。
あと、ハードウェアの「新規」ボタンで、とりあえず「DPad support(数字キー)」「Keyboard support(キーボード)」「Touch-screen support(タッチスクリーン)」を追加しておきます。
ハードウェアエミュレーションオプションについては下記参照。
http://www.techdoctranslator.com/android/developing/tools/avd

最後に「Create AVD」ボタンをクリックして作成完了!


  • サンプルプロジェクト作成
エミュレータを起動するために、サンプルのプロジェクトを作成します。
「ファイル」→「新規」→「その他」(Ctrl+N)を選択。

「Android」→「Andoroidプロジェクト」を選択して「次へ」。
Test Project Nameのところには、適当に「HelloAndroidProject」と入力し、ビルド・ターゲットは「Android 1.5」を選択。
でないと、先ほど作ったAVDが動かないので;
アプリケーション名は「HelloAndroid」にして、パッケージ名には「jp.hews.hello」、Create Activityのところには「HelloAndroidActivity」、Min SDK Versionには「3」を入力して「完了」。

プロジェクトが無事作成されたようなので、「実行」→「実行」(Ctrl+F11)で「Androidアプリケーション」を選択して「OK」。

起動しましたー。

起動中です。
サンプルプロジェクトも無事起動しました。
ついでなので、メニュー画面も上げておきますね。













ってな感じで、開発環境構築と動作チェックは無事完了です。
AVDの別バージョンの見た目もご紹介できましたので、一応形だけでも今までとは違った内容になりましたでしょうか?

原因はイマイチよくわかっていませんが、実はここまでいろいろとエラーに悩まされましたw
ADTプラグインをインストールする際、ADTプラグイン以外にもいろいろとインストールされることになり、そのうちの1つでエラーが発生してインストールが完了されず、いつまで経ってもADTプラグインをインストールできず、結局OSごと入れ直したりとか、サンプルプロジェクトを作ってもAVDへのビルド・パスでエラーが発生していてアプリが起動しなかったりとか…EclipseやJDK等のバージョンが違うだけで、今までうまくいっていたものがうまくいかず、ある意味いろいろ勉強になりましたw
ADTプラグインの件は、多分JDKやPleiades関連でいろいろグチャグチャやってしまったせいだと思います;
ビルド・パスの件も、プロジェクト・エクスプローラやパッケージ・マネージャでAVDへのパスを通してやるだけで解決しました。

というわけで、結局今回もUbuntu 10.04でのAndroid環境構築の話というより、JDK + Eclipse + Pleiades の構築方法の話みたいな感じになってしまいましたが、それもまた一興。
前回とはやり方を変えましたので、そちらの面でもご参考になれば幸いです。
この問題を解決するのに、案外数時間かけているのでwww

さて、次回こそはMac?そんなバカな。
イヤ、フリじゃなくwww

※どうでもいいですけど、やはり今回もEclipseの一部が日本語化されていませんね。まぁいいか。

0 件のコメント:

コメントを投稿