ザウルスをアンドロイドにしてあげる
本館 Android Zaurus
2010-10-15
Android起動時に自動起動するアプリで例外→リブートを繰り返す



| Android起動時にBOOT_COMPLETED*1を受信して自動起動するアプリがExceptionを吐いて死んでしまうと、システムが再起動を延々と繰り替えしてしまうケースがあるようだ。
fastbootを使って/dataを初期化*2してしまえばいいのだが、それも乱暴過ぎるという場合のバッドノウハウ。
サンプルのHomeアプリ*3などのホーム置き換えアプリのパッケージを起動時にインストールして、BOOT_COMPLETEDが流れる前にホーム選択ダイアログを出させてしまうという手段を使う。
$ adb wait-for-device && adb push home.apk /data/app/home.apk
この状態で例外を吐くアプリのパッケージを/data/appから消してしまえばいい。なお、samplesのHomeはまともに動かないので、デフォルトアプリには絶対にしていけない。
トラックバック - http://d.hatena.ne.jp/androidzaurus/20101015/1287118601
「fastboot」とか「adb push /data/app」とかいう環境ならHOMEアプリなんていらない。