Google के अनुसार, मुझे अपने एंड्रॉइड ऐप को Google Play पर प्रकाशित करने से पहले " सोर्स कोड में लॉग तरीकों से किसी भी कॉल को निष्क्रिय करना होगा" । प्रकाशन चेकलिस्ट की धारा 3 से निकालें :
रिलीज से पहले अपने आवेदन को बनाने से पहले सुनिश्चित करें कि आप लॉगिंग को निष्क्रिय कर दें और डिबगिंग विकल्प को निष्क्रिय कर दें। आप अपने स्रोत फ़ाइलों में लॉग विधियों में कॉल हटाकर लॉगिंग को निष्क्रिय कर सकते हैं।
मेरा ओपन-सोर्स प्रोजेक्ट बड़ा है और हर बार रिलीज होने पर इसे मैन्युअल रूप से करना एक दर्द है। इसके अतिरिक्त, लॉग लाइन हटाना संभावित रूप से मुश्किल है, उदाहरण के लिए:
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
यदि मैं लॉग लाइन पर टिप्पणी करता हूं, तो स्थिति अगली पंक्ति पर लागू होती है, और संभावनाएं लोड होती हैं () नहीं कहा जाता है। क्या ऐसी स्थितियां काफी दुर्लभ हैं जो मैं तय कर सकता हूं कि इसका अस्तित्व नहीं होना चाहिए?
तो, क्या ऐसा करने के लिए एक बेहतर स्रोत कोड-स्तरीय तरीका है? या शायद कुछ चतुर ProGuard सिंटैक्स कुशलता से लेकिन सुरक्षित रूप से सभी लॉग लाइनों को हटाने के लिए?
sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g'
इसके बजाय उपयोग करना चाहेंगे ।