http://www.javadrive.jp/android/index.html http://firespeed.org/diary2/read/read.php?diary=kenz&junl=2 !!!利用するJavaのバージョンについて JDK7 を使うとリリース時に パッケージファイルに正しく署名されていません。 と出るので注意。 今のところは、JDK6 を使うのが無難。 !!!設定 1.ダウンロードして解凍 2.tools にパスを通す 3.コマンドプロンプトで android create avd --name test1 --target 2 で仮想デバイスを作成する。 android create avd でヘルプ表示。 ここで作った設定は、ホームディレクトリのandroid以下にある ターゲットのリストは android list targets で表示できる。 !!!エミュレータ !エミュレータの起動 emulator -avd test1 でエミュレータ起動 !キーボード、マウスホイールを有効にする http://tmegos.blogspot.jp/2012/07/android.html 設定によってはキーボードが使えないことがある。 ユーザのホームディレクトリの .android/avd 以下にある AVDの設定ファイルである config.ini を開いて hw.dPad=yes hw.keyboard=yes を追記、編集する !エミュレータの画面を回転させる CTRL + F11 でエミュレータを回転できる。 !!!コンパイルと実行 !環境作成 android create project -a actname -k pack.test -t 2 -p path バージョンによっては activityCreator.py --out hello org.klab.Hello activityCreator.bat --out hello org.klab.Hello とか。 !コンパイル ant とか ant build とか。バージョンによりけり。 javac とか ant とか使えるようにパスを設定しておく。 !エラーがでたら Certificate expired xxxxxxxx っていうエラーがでたら、ホームディレクトリ直下の .android を消してしまうのが一番楽。 !プロジェクトのアップデート SDKをアップデートすると、プロジェクトが古くてコンパイルできなくなったりする。 その場合は、 android update project --path プロジェクト で、プロジェクトをアップデートする。 !実行 エミュレータを実行している状態で ant install ant debug install (最近はこっち) または、 adb install bin\actname-debug.apk XXX.apk はコンパイル後に bin の中に出来る。 !デバッグ System.out.println または android.util.Log でログ出力。 adb logcat 必要に応じて -d オプションを付ける。 フィルタリングは adb logcat *:s System.out:I とか。マッチするタグがないと表示されるみたいなので *:s で余計なタグを弾く。 !日本語の表示 ソースをMS932で書いてnative2ascii をかます。 {{ref n2a.bat}} こんなバッチを書いて、src_natvieにソースを置けばOK !!!複数デバイスを使う adb コマンドは -s でシリアルを指定できる。 adb devices で表示されるシリアルを指定する。 adb -s emulator-5554 shell とか !!!VMWare を使う場合 {{word 以下の内容は,red}}[[VMWareでAndroidアプリをデバッグする]]{{word へまとめ直しました。,red}} エミュレータを使用している場合、 パッケージのインストール、デバッグなどの作業は adb(Android Debug Bridg)を使用して行われている。 エミュレータの代わりにVMWareにインストールしたAndroidを使う場合も adbを使用してパッケージのインストールやデバッグが行える。 !手順 vmware 内のandroid で adbd が起動されていることを確認する adbコマンド実行側の環境変数(ADBHOST)にadbd実行側のIPアドレスを設定する set ADBHOST=192.168.*.* あとは、普通のエミュレータと同じ。 adb devices でデバイスを確認する。もし、デバイスが認識されていない場合は adb kill-server を実行してから、 add devices を実行してみる。 adb start-server は実行しなくても、自動で実行してくれるので必要ない。 !その他のadbコマンド ,コマンド,用途 ,adb install (-r) *.apk, パッケージインストール -r はリインストール ,adb shell, adbd 実行側でのshellを起動する ,adb kill-server, adb server を止める。 adb server は自動で実行される。 ,adb start-server, adb serverを明示的に実行する ,adb devices, 使用出来るデバイスの一覧を表示する ,adb logcat, ログを確認する ,adb push, ファイルを送信する ,adb pll, ファイルを受信する ※ 複数デバイスがある場合、 -s でデバイスを指定出来る。 !!!adb の仕組み この内容は、予想なので実際はどうなのかわからない *Android OS 側に adbd (adbデーモン)を起動しておく *adb コマンド実行側に adb server (adb デーモンと通信するプロセス)を起動する *adb コマンド実行側が adb server 経由でadbdに指示を与える {{category2 プログラミング言語,Java,Android}}