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}}