Androidアプリをしばらく開発してないとキーストアが古くなって起動しなくなります。
いちいち起動しなくなる度に原因を調べるのも面倒なので、
キーストアを常に新しくしてしまいましょう。
キーストアは自動生成されるので何も考えずEclipse起動前に削除するのが手っ取り早いです。
そこで、LogCat対策の前に↓のバッチファイルコマンドを入れます。
rem 時が経つと起動できなくなるので古いキーストア削除 rem win7の場合は以下のパス rem それ以外の環境の場合はググれば出てきます echo キーストア削除 del C:\Users\<ユーザー名>\.android\debug.keystore rem LogCatが死んだときのために一度↓を実行
これで長い間放置してもアプリが起動しなくなることがなくなります。
が、これでは問題が……
アプリをEclipseから実行した後にEclipseを再起動するとアプリが起動できなくなりますorz
これを解決するには一度アプリをアンインストールする必要があります。
が、起動する度にいちいち手動でアンインストールするのは面倒です。
そこで↓のように修正します。
rem 時が経つと起動できなくなるので古いキーストア削除 rem win7の場合は以下のパス rem それ以外の環境の場合はググれば出てきます echo キーストア削除 del C:\Users\<ユーザー名>\.android\debug.keystore cd <アンドロイドSDKのパス>\AndroidSDK\android-sdk\platform-tools rem キーストアを削除するとアプリをアンインストールする必要がある rem -dは実機指定、-eでエミュレータ指定 echo アプリをアンインストール adb uninstall -d "<アンインストールするパッケージ名>" rem LogCatが死んだときのために一度↓を実行
これで、いちいちアンインストールしなくても済みます。
ただ、アンインストールコマンドで実機指定をしていると、実機を接続してないと先に進みません。
これではただEclipseを起動したいだけの時に困るのでちょっと改造してみます。
rem 時が経つと起動できなくなるので古いキーストア削除 rem win7の場合は以下のパス rem それ以外の環境の場合はググれば出てきます echo キーストア削除 del C:\Users\<ユーザー名>\.android\debug.keystore cd <アンドロイドSDKのパス>\AndroidSDK\android-sdk\platform-tools if "%1" == "" goto LOG_CAT_REBOOT rem キーストアを削除するとアプリをアンインストールする必要がある rem -dは実機指定、-eでエミュレータ指定 rem バッチファイルの第一引数はパッケージ名を指定してください echo アプリをアンインストール adb uninstall -d %1 rem LogCatが死んだときのために一度↓を実行 :LOG_CAT_REBOOT
アンインストールするファイル名を引数で取得するようにしました。
引数がないときはアンインストールコマンドを実行しません。
これでこのバッチファイルをただ叩いたときはアンインストールなしでEclipse起動、
第一引数を指定するとアプリをアンインストールしてEclipseを起動できるようになります。
さらに嬉しいことに、パッケージごとにバッチファイルを作る必要がなくなりました!
これで、バッチファイルが見やすくなるというものです。
ちなみに、パッケージを指定して起動バッチを叩くには↓のようなバッチファイルを作ります。
call 起動バッチ.bat "<アンインストールするパッケージ名>"