あなたは(I?)あなたのアプリに新しいアクティビティを追加して、Eclipseにそれを起動させることができます。新しいアクティビティは、さもなければ設定されないフラグを設定し、それ以外の場合は同じフラグを設定します。アプリの通常の使用はデフォルトのアクティビティを介して行われるため、フラグはデフォルトで設定解除されます。
既存のアクティビティを(MainActivity
それを呼び出す)延びるDebugActivity
新しいを追加します。
public class DebugActivity extends MainActivity {
public DebugActivity() {
super(true); // running from Eclipse
}
}
は、新しいサブクラスをサポートするためにMainActivity
に新しいブールコンストラクタと引数なしのコンストラクタを追加します。
private final boolean viaEclipse;
public MainActivity() {
this(false);
}
public MainActivity(boolean viaEclipse) {
this.viaEclipse = viaEclipse;
}
アプリマニフェストの<activity>
情報を.MainActivity
に重複しますが、複製を変更して新しい.DebugActivity
を参照してください。 .DebugActivity
<intent-filter>
から<category>
タグ(「LAUNCHER」のタグ)を削除して、Android UIに表示されないようにします。
Eclipseでは、Run -> Run Configurations ...
を選択してください。アプリの既存の実行設定を選択します。 [現在選択されている起動設定を複製する]アイコンをクリックし、複製のを[Launch Default Activity]から[Launch:]に変更し、新しい.DebugActivity
を選択します。 (基本的にはちょうど打ち上げクラス名とスタック上の余分なエントリ)
マイナス面
Eclipseの「デバッグは」ランは「本物の」実行するために同一ではないが、その差はかなり小さく、 。少なくとも、Java側には重複したコードはありません。
私は<activity>
の内容のほとんどをマニフェストに複製しましたが、それはやや壊れやすいものの、それほど悪くはありません。
これよりも簡単なことがあります。
これは、アプリケーションが実際にデバッグされているかどうかを確認します。 –
はい、これはEclipseから起動できる少なくとも2つの異なる方法の1つです。 –
Eclipseデバッガから実行したときにこれを試してみました(ランチャーから実行すると偽)。 Eclipseから「通常」のアプリを実行すると、falseも返されます。デバッガの下で実行すると、すべての使用のための少しヘビー級ですが、多分私はそれに慣れることができます。 –