棚からパルチャギ

日々の雑記、ニュース拾いとか

2007. 11. 16

Android (インストール・実行編)
続き。プロジェクトのビルド。
activityCreatorで生成するとbuild.xmlが自動的に用意されるので、antでビルド可能です。 プロジェクトのディレクトリに移動して、ant [Enter] すればおけ。
> cd C:\Development\Projects\android\sample > ant
特に問題がなければ、新規に作成されたbinディレクトリの中に Sample.apk ができているはずです。 ちなみに.dexファイルはコンパイル済みのクラスファイルをまとめたもの、それにマニフェストファイルや各種リソースを含めて一纏めにしたものが.apkファイル。 インストールに必要なのは、この.apkファイルだけ。

ビルドの際にこんなエラーが出る場合は、複数JDKが混在していて、正しいjavacを参照していない可能性があります。 JAVA_HOMEが1.5以降に設定されていれば問題ないんですが…普通に間違ってましたorz。
[javac] javac: 1.5 は無効な VM バージョンです。


で、アプリのインストール編。(参考:Running an Android Application)
付属ツールのadb(Android Debug Bridge)を使用して、アプリケーションを転送します。
1. エミュレータを起動する
> cd C:\Development\android_sdk\tools > emulator.exe
2. しばらくエミュレータで遊ぶw
3. 堪能したらカーソルキーの右側にある家ボタンを押して、メインメニュー(?)に戻っておく
4. プロジェクトのディレクトリに移動して、adb install .apk でインストール実行
> cd C:\Development\Projects\android\sample > adb install bin/Sample.apk
初回起動時なのか、起動後にまだ準備ができていないのか、インスト-ル時に以下のようなエラーメッセージが表示されることがあるけど、 めげずにもう一回実行すればおけ。
* daemon not running. starting it now * * daemon still not running * error: no device
5. エミュレータのメニューの一番左にある「Applications」を開くと、アプリケーションが追加されています…が、何もない雛型アプリなので Hello, World! すら表示されません(>_<)

※Android SDKにはサンプルゲームも付属しているので、上記の手順で <Android_SDK>\samples\LunarLander とかをインストールしてみると、ちょっと楽しいかもしれません

続く。
Android (開発環境編)
Googleさんの携帯プラットホーム「Android」で遊んでみたので、覚書き諸々。 基本はプラグイン入れてEclipseで開発するみたいですけど、使い慣れたエディタで書きたいよーとか、 プリプロセッサ使わないと開発できないとか、ダメな旧人類古きよき開発者のために非Eclipse環境での開発をば。 WindowsXP SP2+JDK(1.5.0_14)+Ant(1.7.0)でのメモです。


まずは開発環境の用意。(参考:System and Software Requirements)
1. JDK(1.5以降)Apache-Ant(Windowsは1.7以降/Mac・Linuxは1.6.5以降)をインストール
2. 環境変数 JAVA_HOMEANT_HOME に、それぞれインストールしたディレクトリを設定
3. 環境変数 PATH%JAVA_HOME%\bin%ANT_HOME%\bin を追加する
4. Android SDKをインストール
5. 環境変数 PATH<Android_SDK(インストールしたパス)>\tools を追加

準備ができたら、アプリケーションの雛型を作成。
1. 適当なディレクトリに移動する
> cd C:\Development\Projects\android
2. 雛型作成用のスクリプトを実行する。「--out」オプションに出力先のディレクトリ名、引数にアプリケーションクラスのパッケージ名を指定します。
> activityCreator --out samplecom.example.sample.Sample
3. こんなプロジェクト一式が生成されます。
sample /res /src AndroidManifest.xml build.xml


こんなエラーが出る場合は、パッケージ名が短すぎるので、2階層(?)以上指定してあげます。
Traceback (most recent call last):
File "activityCreator.py", line 200, in <module>
File "activityCreator.py", line 197, in main
File "activityCreator.py", line 133, in Setup
AttributeError: 'NoneType' object has no attribute 'group'
helpメッセージ出すと書いてありました。ちゃんと嫁。
packageName is a fully qualified java Package in the format .... (with at least two components).

ちなみに、Eclipseプラグインを使わない開発については、公式のドキュメントにも載っているんですが、 全然親切じゃないので分かりづらい気がします…。
今日の浪費
「灼眼のシャナ XVI」「HELLSING 9」。
今週はあまり家に帰っていないので、買ったまま放置につき未読。 小説は通勤中に読むので結構積まずに済んでいるけど、漫画はいつでも読めるような安心感からか、 どうもそのままにしておくことが多いです。雑誌もアフタヌーンとか2~3ヶ月溜まってたりとか。

仕事から帰ってきて、ネット徘徊して、アニメなんか観てると、だいたい意識を失って翌日の朝を迎えてしまうので、 毎日やり残した事が多いです。アニメだってまだグレンラガンとアイマス観てますよ。 今期で追いついてるのは、バンブーブレードとカイジくらいですってば。みんな、どうやって消化しているんだ(;´Д`)