0

Eclipseを介してAndroidスマートフォンにアプリケーションをロードして起動することと、強制的に停止した後にアプリケーションをクリックすることの違いについて、いくつかの一般的なヒントを得たいと思っています。これが状況です。

ソースコードと一緒に継承したアプリケーションがあります。「Debugas...」または「Runas...」のいずれかを使用してEclipseからコードをビルドおよび転送すると、すべてうまく機能します。今日、私はアプリケーションで強制停止を試してみることにしました。止まった。それをダブルクリックすると、すべてがうまくいかないことは明らかです。まだ調査中ですが、SharedPreferencesなどがめちゃくちゃになっているようです。私の質問は本当にこれです。Eclipseを介したダウンロードでは、デバイス自体から起動するだけでは何ができませんか?Eclipseのように「クリーンスタート」を複製する方法はありますか?ForceStopと同じメニューで「データのクリア」と「キャッシュのクリア」を試しました。

これは幅広い質問だと思います。私は誰かが「ああ!」を持っているかもしれないことを望んでいます。私をより多くの研究に導くアイデア。

ありがとう、デイブ

4

1 に答える 1

0

Arrghh....この問題は以前私をつまずかせました。全体的な問題は、私がこの行を導入したことでした:

android.os.Debug.waitForDebugger();

アプリケーションが使用しているサービスをデバッグするため。それは私が持っていた:

@Override
public IBinder onBind(Intent intent) {
    android.os.Debug.waitForDebugger();
    ComponentName name = intent.getComponent();
    String packageName = name.getPackageName();
    return mMessenger.getBinder();
}

私の知る限り、これを行わずにサービスの初期セットアップ部分をデバッグする方法はありません。とにかく、もちろん、電話でアプリを強制的に停止して起動すると、この時点でハングします(waitForDebugger)。Eclipseから実行している場合は、デバッガーがすぐそこにあるので問題ありません。質問を見てコメントしたすべての人に感謝します。

于 2013-03-15T18:08:04.033 に答える