आप (मैं?) ऐप में एक नई गतिविधि जोड़ सकते हैं, और ग्रहण लॉन्च कर सकते हैं। नई गतिविधि एक झंडा सेट करेगी जो अन्यथा सेट नहीं होती है, और अन्यथा वही होती है। ऐप का नियमित उपयोग डिफ़ॉल्ट गतिविधि के माध्यम से आ जाएगा, और इसलिए ध्वज को अनसेट करने के लिए डिफ़ॉल्ट किया जाएगा।
एक नया DebugActivity
कि मौजूदा गतिविधि फैली जोड़ें (यह MainActivity
कहते हैं):
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;
}
.MainActivity
के लिए ऐप मेनिफेस्ट में <activity>
जानकारी डुप्लिकेट करें, लेकिन नए .DebugActivity
को संदर्भित करने के लिए डुप्लिकेट बदलें। एंड्रॉइड यूआई में दिखने से रोकने के लिए टैग ("लॉन्चर" एक) .DebugActivity
<intent-filter>
से निकालें।
ग्रहण में, Run -> Run Configurations ...
चुनें। ऐप के लिए मौजूदा रन कॉन्फ़िगरेशन का चयन करें। "वर्तमान में चुने गए लॉन्च कॉन्फ़िगरेशन को डुप्लिकेट करें" आइकन पर क्लिक करें, और डुप्लिकेट में Android
टैब पर Launch Action
को "लॉन्च डिफ़ॉल्ट गतिविधि" से "लॉन्च करें" में बदलें और नया .DebugActivity
चुनें।
Downsides
ग्रहण "डिबग" रन एक "वास्तविक" चलाने के लिए समान नहीं हैं, लेकिन अंतर बहुत छोटा है (मूल रूप से बस लांच वर्ग के नाम और ढेर पर एक अतिरिक्त प्रविष्टि) । कम से कम जावा पक्ष पर कोई डुप्लिकेट कोड नहीं है।
मैं प्रकट में मेरी <activity>
की सामग्री है, जो एक छोटे से कमजोर लेकिन बहुत बुरा नहीं है का सबसे दोहराया।
अभी भी इससे कुछ आसान होना अच्छा लगेगा।
स्रोत
2013-07-10 04:05:50
यह जांच करेगा कि ऐप वास्तव में डीबग किया जा रहा है या नहीं। –
हां, जो कम से कम दो अलग-अलग तरीकों में से एक है जिसे ग्रहण से लॉन्च किया जा सकता है। –
मैंने अभी कोशिश की है और ग्रहण डीबगर से चलने पर सत्य हो (और लॉन्चर से चलने पर झूठी)। ग्रहण से "सामान्य रूप से" ऐप चलाने से भी झूठ आती है, हालांकि। प्रत्येक उपयोग के लिए डीबगर के नीचे चलना थोड़ा हेवीवेट है, लेकिन शायद मैं इसका उपयोग कर सकता हूं। –