2010年7月15日木曜日

Androidアプリ開発日記 3

前回のあらすじ。

WindowsでのAndroid開発環境を構築しました。

前回の続き。

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


とりあえず、LinuxはUbuntu 8.04 LTSを用意しました。

仮想PC環境は例によってVirtualBoxなのですが、UbuntuはVirtualBox用の仮想HDDが用意されているんですよねー。
インストール作業をショートカットできるので、導入が簡単です。

やることは、Windowsの時と一緒ですw
やり方がちーと違うので、その辺のご紹介ですねw


  • JDK(Java SE Development Kit)インストール
$ sudo apt-get install sun-java6-bin

Windowsの時のようにwebからファイルをダウンロードして…という方法より、apt-get の方が楽ですw

$ java -version

Javaのバージョンを確認してみると、"1.6.0_20"(執筆時の7/15現在)がインストールされたことがわかります。
実は、webからのダウンロードだと、執筆時の7/15現在では1.6.0_21が最新のようなのですが、ファイルに実行権限を付与して解凍して云々…というのは面倒なので、このまま行きますw
それに、前回と同じ環境の方がわかりやすいですしね!(言い訳)


  • Eclipse(Pleiades)インストール
Pleiadesは、Windowsの時のようにダウンロードしてすぐに使えるパッケージ(All in One)がないので、まずはEclipse本体をインストールします。
http://www.eclipse.org/downloads/

「Eclipse IDE for Java Developers」のLinux 32 Bitをダウンロードします。
現在の最新版は、3.6(Helios)ですね。
今回は、ホームディレクトリ( /home/hoge/ )に apps フォルダを作り、そこに解凍しました。
※ /home/hoge/apps/eclipse/*** になります。
※"hoge"は、自分のユーザ名です。
 以下全て"hoge"は自分のユーザ名に置き換えてください。

解凍して実行ファイルを叩けばもう使えますので、とりあえず一応起動を確認しておきます。

$ cd
$ cd apps/eclipse/
$ ./eclipse

特に問題なく立ち上がります。

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

Windowsの時はPleiades All In Oneをダウンロードしてきましたが、今回はPleiadesの本体のみをダウンロードします。
※「Pleiades All in One 日本語ディストリビューション (zip ファイル) ダウンロード」の下にあります。

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

EclipseにPleiadesを読み込ませるため、下記作業を行います。

$ cd
$ cd pleiades/
$ cp -R features/* /home/hoge/apps/eclipse/features/
$ cp -R plugins/* /home/hoge/apps/eclipse/plugins/

pleiades フォルダ内の features フォルダと plugins フォルダの中身を、先ほどEclipseを解凍したフォルダ内の同フォルダにコピーするということですね。

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

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

-javaagent:/home/hoge/pleiades/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

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

-showsplash
org.eclipse.platform



#-showsplash
#org.eclipse.platform

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

$ cd
$ cd apps/eclipse/
$ ./eclipse -clean

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

あと、Windowsの時に倣って、ショートカット(ランチャ)をパネルのところに作っておきましょう。
/home/hoge/apps/eclipse/eclipse の実行ファイルをパネルにドラッグすると、ランチャの作成画面が出ますので、名前はEclipseにして、左上のアイコンは /home/hoge/apps/eclipse/ を開くと icon.xmp が出てくるので、それを選択して「OK」。


ここからは余談。

実を言うと、Pleiadesを使用せず、英語環境でやるなら、もっと簡単な方法があります。

$ sudo apt-get install eclipse

これ一発w
ただし、Ubuntu 8.04 LTSだと、バージョンが3.2.2-5がインストールされます。
このバージョンとPleiadesの現在のバージョン(1.3.1)が合わないのか、どうしてもエラーが発生して、Eclipseが起動しないんですよね。
バージョンの問題か、アクセス権の問題か…。


apt-get でEclipseをインストールすると、/usr/lib/eclipse/ 以下にファイルが展開されます。
Pleiadesファイルをホームディレクトリの適当なフォルダに展開するところは一緒ですが、上記のように eclipse.ini を書き換えるためには root 権限が必要になります。
ついでに、下記URLにあるように、Eclipseは起動時に eclipse.ini を読みに行かない、というような情報も…。
https://bugs.launchpad.net/ubuntu/+source/eclipse/+bug/210319
※しかし、上記のようにホームディレクトリで全てを完結した場合、eclipse.ini を書き換えることで起動に成功しているため、このバグ情報は、apt-get でEclipseをインストールした場合、もしくはバージョンが古い場合の話かもしれません。

代わりに、ホームディレクトリにある ~/.eclipse フォルダ(隠しフォルダ)に eclipserc というファイルを作成し、テキストディタで以下のテキストを1文で記述します。

VMARGS="-Xms40m -Xmx256m -XX:PermSize=128M -XX:MaxPermSize=256M -javaagent:/home/hoge/pleiades/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar"

どういうことか言うと、

apt-get でインストールされた /usr/lib/eclipse/eclipse の実行ファイルは、起動時、同フォルダにある eclipse.ini を読みに行かず、代わりに /home/hoge/.eclipse にある eclipserc という設定ファイルを読みに行く。



そこには、/home/hoge/pleiades/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar を読み込んで日本語で表示しろと書かれているので、そのように処理される。

というような流れのハズなのですが、これでもエラーが出るということです。
ホームディレクトリにある pleiades フォルダ内の features フォルダと plugins フォルダを /usr/lib/eclipse/eclipse 内の同フォルダにコピーしても解決しなかったため、最終的に「はいはい全部ホームディレクトリでやればいいんでしょ!」という流れにw
というわけで、apt-get でインストールしたEclipseに、Pleiadesを適用することを断念し、上に書いたような方法になりましたw

で、うまくいかなかったのは、Ubuntu 8.04 LTSだからというのもあるかもしれません。
Ubuntu 9.10 や 10.04 LTS で apt-get でEclipseをインストールすると、3.5がインストールされるようで、これだったら上記のやり方でもうまくいくようです。
試してはいませんが…。

この方法の参考URL:
プラグイン日本語化プラグイン - Ubuntu Linux では…
Ubuntu 8.04 + Eclipse 3.2 + Pleiades (日本語化)を入れてみた
【Ubuntu 9.10】Eclipse 3.5.1 Galileo 日本語化 by Pleiades 1.3.1

余談終わり。



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

Windowsの時同様、「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)プラグインインストール
ここからは、前回とまったく同じですね。
ほとんどコピペwww

Eclipseを起動し、「ヘルプ」→「新規ソフトウェアのインストール」を選択し、「作業対象」に「https://dl-ssl.google.com/android/eclipse/」を打ち込み、追加ボタンを押します。
リポジトリ名は適当に、「ADT」とつけておきます。
「開発ツール」にチェックを入れ、「次へ」。
使用条件のテキストを表示させた上で、条項に同意して「完了」。
※テキストを表示しないと、条項に同意して「完了」しても、インストールされません。
※インストール時に何かメッセージが出てきたら、とりあえず「OK」にしますw

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」を開いて、既に登録されているリポジトリにチェックを入れて、パッケージをインストールします。
※どうでもいいですけど、EclipseのバージョンはWindowsの時と同じはずなのに、一部日本語化されていないところがありますね。
 もしかしたら、Pleiadesのバージョンが古い?

左側の「Virtual Devices」を開いて、「新規」ボタンで適当なAVDを作成します。
とりあえず、名前は「sdk2.2_test」とし、ターゲットは「Android 2.2 - API Level 8」を選択し、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 2.2」を選択。
でないと、先ほど作ったAVDが動かないので;
アプリケーション名は「HelloAndroid」にして、パッケージ名には「jp.hews.hello」、Create Activityのところには「HelloAndroidActivity」、Min SDK Versionには「8」を入力して「完了」。

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

起動しましたー。

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










ってな感じで、開発環境構築と動作チェックは無事完了です。
なんとなく、画面効果(Androidのアニメーション等)が、Windows環境の時よりも若干すんなり表示されている印象でした。
気のせいかもしれませんがw

というわけで、LinuxでのAndroid環境構築の話というより、Ubuntu 8.04 LTS + Eclipse 3.6 + Pleiades 1.3.1での構築方法の話みたいな感じになってしまいましたが、それもまた一興。
そちらの面でも、ご参考になれば幸いです。
この問題を解決するのに、案外時間かかったのでwww

さて、次回は…Mac?そんなバカな。

0 件のコメント:

コメントを投稿