差分ビルドと、任意の 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 taskInfoList = am.getRunningTasks( 99 );
パーミッションに「GET_TASKS」と「RESTART_PACKAGES」が必要。