2011-08-11 23 views
36

मुझे अपने ऐप में किसी स्थान पर पहचानना है कि, मेरा ऐप डीबग मोड या लाइव मोड में चल रहा है या नहीं। क्या यह जांचने के लिए कोई फ़ंक्शन या कोड उपलब्ध है। जो किसी भी मामले में/बंद में सच/गलत लौटाता है। यदि हां, तो कृपया मेरी मदद करें। अग्रिम में धन्यवाद।प्रोग्रामेटिक रूप से जांच कैसे करें कि ऐप डीबग मोड में चल रहा है या नहीं?

+1

http://stackoverflow.com/questions/4276857/getting-debuggable-value-of-androidmanifest-from-code – Im0rtality

+0

@Imortality ... धन्यवाद क्रम अपवाद फेंकता सहयोग के लिए लेकिन यह मेरे मामले में काम नहीं कर रहा है। –

+0

तब डीबग मोड और लाइव मोड वास्तव में क्या है? – Im0rtality

उत्तर

34

जवाब यह है कि @ Im0rtality प्रदान करता है सही एक है:

boolean isDebuggable = (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE)); 

(this Google blog post से)

(अद्यतन: शायद &= बस ऊपर अभिव्यक्ति में &, होना चाहिए, हालांकि &= है Google ने उनके ब्लॉग पोस्ट में क्या किया है)

धन्यवाद आर सहयोग लेकिन यह मेरे मामले में काम नहीं कर रहा है

मुझे यह सुनकर खेद है। बेशक, यह बताते हुए कि "मेरे मामले में काम नहीं कर रहा" कुछ ऐसा है जिसे आप छोड़ने के लिए चुने गए हैं, मैं आपकी मदद नहीं कर सकता।

+0

आपके पास एक टाइपो है: "getAplicationInfo()" नहीं "getApplcationInfo()" – christoff

+0

@ क्रिस्टॉफ़: फिक्स्ड, धन्यवाद! – CommonsWare

+1

आपके पास '& =' क्यों है? क्या यह सिर्फ '&' नहीं होना चाहिए? –

25

यह सवाल यह है कि डिबग मोड संदर्भित करता है से स्पष्ट नहीं है करने के लिए:

  1. चाहे एप्लिकेशन डीबग करने योग्य है या नहीं
  2. एप्लिकेशन को वर्तमान में डिबग किया जा रहा है या नहीं (एडीबी से अधिक जैसे)

पहले CommonsWare's answer द्वारा कवर किया जाता:

boolean isDebuggable = 0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE); 

दूसरा है:

boolean isBeingDebugged = android.os.Debug.isDebuggerConnected() 

https://developer.android.com/reference/android/os/Debug.html#isDebuggerConnected()

12

"लाइव मोड" द्वारा मामले में आप Play स्टोर पर इस्तेमाल के लिए हस्ताक्षर किए मतलब है, आप BuildConfig.DEBUG का मूल्य की जाँच करके 2 राज्यों के बीच अंतर कर सकते हैं। गूगल एंड्रॉयड स्टूडियो के बारे में यह here

13
if (BuildConfig.DEBUG) { 
    // here be thine debug statement 
} 

वर्क्स एक वीडियो वास्तव में अच्छी तरह भर में ग्रहण और दिखा दिया है।

अन्य लोगों को यहाँ उल्लेख अक्सर के लिए मुझे

संबंधित मुद्दे

 संबंधित मुद्दे