棚からパルチャギ

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

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プラグインを使わない開発については、公式のドキュメントにも載っているんですが、 全然親切じゃないので分かりづらい気がします…。

2007. 11. 07

ニコニコ動画に拡張マイリストを追加するGreasemonkeyスクリプト ver.0.6.1
「超!アニメロ」の動画が、マイリストのサムネイル表示に対応していなかったので修正しました。
prefixが「ca」な動画の存在に気付いていなかったです…

2007. 10. 30

Youtube Encoder がYoutubeで動かない罠
ニコニコ動画のダウンロードで活用させていただいている、 Firefox Add-onであるところのYoutube Encoderなんですが、 会社の人に自信を持ってお勧めしたところ「Youtubeじゃ動かないんだが」と言われてしまったので、直してみました。

とりあえず、Youtube側の仕様変更で h1 から div になったようなので、 取得に失敗してダウンロードできないようでした。 作者さんの連絡先がいまいち分からないのでコメント欄に書いておいたけど、手動でもさっくり直せるので一応修正箇所を。

以下のファイルを修正。usernameprofileは各環境に合わせて変更してください。
C:\Documents and Settings\username\Application Data\
Mozilla\Firefox\Profiles\profile\extensions\{5648a198-f53d-11db-8314-0800200c9a66}\
chrome\content\youtubeencoder\youtube.js
95c95 < var h1 = this.document.getElementsByTagName('h1')[0]; --- > var h1 = this.document.getElementById('vidTitle'); 109c109 < var h1 = this.document.getElementsByTagName('h1')[0]; --- > var h1 = this.document.getElementById('vidTitle');

JavaScriptの修正だけなので、直接ファイルを編集してFirefoxを再起動すればおけ。 それにしても、既に何ヶ月か使っているというのに、Youtubeにはあまり行かないので全然気付きませんでした…。

ところで、chrome以下のファイルはjarで固めたほうが起動が早くなるんじゃなかったでしたけ。

2007. 10. 28

ニコニコ動画に拡張マイリストを追加するGreasemonkeyスクリプト ver.0.6.0
メモとタグ分類機能を追加しました。すぐにやるつもりが、なんだかんだで放置してしまいました…。
最近腰を落ち着けてニコニコする時間が微妙にないので、「あとで見る」タグをつけて登録しまくる予定。

2007. 10. 24

pixiv SITEINFO
本家のSITEINFOはジャンル無関係に増え続けているので、 もっと分類して取捨選択できたほうがいいんじゃないかなーと思っていたけど、 興味があろうがなかろうが、気が付いたらサイトの閲覧が便利になっているのが一つのコンセプトだとすると、 今の方向性のほうがいいのかも。 それでもデータベースの肥大化はそれなりに問題だと思うので、 AutoPagerize用のMicroformatsを普及させたほうがいいような気がします。 それはそれとして、SITEINFO_IMPORT_URLS用。5件超えると死ぬ。

  [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]