2009-05-14
差分ビルドと、任意の Activity を終了させる方法
make file のあるディレクトリで
$make
クラスを追加したり修正した場合は、API のアップデートを行わないと怒られる。
$make update-api $make
私のマシンでどちらの場合もビルド時間は5分くらい。
さて、任意の Activity を終了させる方法に、ActivityManager.restartPackage() を用いることも可能だ(個人的にはfinish()したい…)。Activity を ActivityManager.getRunningTasks() で取得して、殺したいパッケージネームを引数にあてればよいが、終了シーケンスへ移るのではなく、いきなりプロセスごと殺される。DDMS を用いて確認してみてほしい。すぐにリスタートが掛かるアプリと、ラウンチ要求で BIND されるアプリとがあった。
ActivityManager am = (ActivityManager) getSystemService( ACTIVITY_SERVICE ); List<RunningTaskInfo> taskInfoList = am.getRunningTasks( 99 );
パーミッションに「GET_TASKS」と「RESTART_PACKAGES」が必要。
Emulator を PC キーボードで操作
Emulator の各キーをマウスでクリックするのと同様の動作が、PC のキーボード上からも可能。
| Emulator Key | Keyboard Key |
|---|---|
| BACK | ESC |
| Menu | F2 |
| CALL | F3 |
| ENDCALL | F4 |
| SERCH | F5 |
| Power button | F7 |
| Disable/enable all networking | F8 |
| Start tracing | F9 (only with -trace flag) |
| Stop tracing | F10 (only with -trace flag) |
| Home | HOME |
| DPad left/up/right/down | Keypad 4/8/6/2 |
| DPad center click | Keypad 5 |
| Volume down | Keypad minus sign (-) |
| Volume up | Keypad plus sign (+) |
