Android अपने यूज़र्स से निटी-ग्रिटी को छिपाने का वास्तव में अच्छा काम करता है। जब चीजें गलत होती हैं, तो आपको मैक की तरह डराने वाली क्रिप्टिक टेक्स्ट की दीवार नहीं दिखाई देती। वे बस... गलत हो जाती हैं।
जहां यह ज्यादातर लोगों के लिए बहुत अच्छा है, वहीं यह उन डेवलपर्स के लिए कम मददगार है जो देखना चाहते हैं कि उनके ऐप्स क्यों काम नहीं कर रहे हैं, और उन पावर यूज़र्स के लिए जो अधिक व्यावहारिक दृष्टिकोण अपनाना चाहते हैं।
यही कारण है कि logcat इतना अविश्वसनीय रूप से सहायक है। यह आपको समस्याओं को डीबग करने के लिए अपने फोन या टैबलेट के सिस्टम लॉग्स का डंप प्राप्त करने की अनुमति देता है। हालांकि अधिकांश यूज़र्स को इसके लिए कोई उपयोग नहीं होगा, डेवलपर्स कभी-कभी समस्या उत्पन्न होने पर यूज़र्स से उनके डिवाइस की लॉग फाइलें प्रदान करने के लिए कहेंगे। यहां बताया गया है कि आप logcat कैसे इंस्टॉल कर सकते हैं, और इसका उपयोग कैसे करें।
Logcat प्राप्त करना
इससे पहले कि आप सिस्टम लॉग्स उत्पन्न करना शुरू करें, आपको पहले कुछ पूर्वापेक्षाओं को पूरा करना होगा। पहली है Android Debug Bridge इंस्टॉल करना, जिसे आमतौर पर ADB के नाम से जाना जाता है। इसमें Logcat टूल होता है।
अगर आप मेरी तरह Mac पर हैं, तो इसे करने का सबसे सरल तरीका HomeBrew पैकेज मैनेजर का उपयोग करना है। एक बार इंस्टॉल हो जाने पर, आपको बस "brew install android-platform-tools" चलाने की आवश्यकता है।
अगर आप Linux पर हैं, तो ADB इंस्टॉल करने के लिए आवश्यक कदम डिस्ट्रीब्यूशन के बीच बेतहाशा भिन्न होंगे। अगर आप Ubuntu पर हैं, तो आपको बस "sudo apt-get install android-tools-adb" चलाने की आवश्यकता है।
अंत में, अगर आप Windows पर हैं, तो आपके पास कुछ विकल्प हैं। पहला, XDADevelopers का एक-क्लिक ADB इंस्टॉलर है, जिसमें आवश्यक ड्राइवर और FastBoot शामिल हैं। वैकल्पिक रूप से, आप इसे Chocolatey पैकेज मैनेजर के माध्यम से इंस्टॉल कर सकते हैं, हालांकि उपलब्ध संस्करण नवीनतम नहीं है।
अपने डिवाइस को डेवलपर मोड में डालें
इसके बाद, आप अपने डिवाइस पर डेवलपर मोड इनेबल करने जा रहे हैं। ऐसा करने के लिए, अपनी सेटिंग्स खोलें और "About Phone" या "About Tablet" पर जाएं। फिर, स्क्रीन के नीचे तक स्क्रॉल करें और "Build Number" पर सात बार टैप करें। एक बार जब आप ऐसा कर लेते हैं, तो यह आपको बताना चाहिए कि आपने डेवलपर मोड में प्रवेश कर लिया है।
वापस दबाएं और सेटिंग्स रूट डायरेक्टरी पर जाएं, जहां आपको कुछ ऐसा दिखाई देना चाहिए जो "Developer Options" कहता है। उस पर टैप करें।
फिर, USB Debugging ऑन करें और अपने Android डिवाइस को अपने कंप्यूटर में प्लग करें। अगर सब कुछ ठीक काम करता है, तो आपको अपने डिवाइस पर एक गंभीर दिखने वाली चेतावनी पॉप अप दिखाई देनी चाहिए।
लॉग्स देखना
अब हम लॉग्स देखना शुरू कर सकते हैं। एक नया टर्मिनल या कमांड प्रॉम्प्ट खोलें, और "adb logcat" चलाएं। आपको तब अपने टर्मिनल विंडो में सिस्टम मैसेज कैस्केड होते हुए दिखाई देने चाहिए। अगर आप नहीं देखते हैं, तो इसका मतलब है कि कुछ गलत हो गया है। या तो आपका डिवाइस आपके कंप्यूटर से कनेक्ट नहीं है, ADB सही ढंग से इंस्टॉल नहीं हुआ था, या आपके डिवाइस पर USB डिबगिंग नहीं चल रही है।
तो, क्या होगा यदि आप अपने फोन या टैबलेट के सिस्टम मैसेज को बाद के विश्लेषण के लिए टेक्स्ट फ़ाइल में कॉपी करना चाहते हैं? खैर, आउटपुट को रीडायरेक्ट करने का सिंटैक्स Windows पर वैसा ही है जैसा Mac पर। बस "adb logcat > textfile.txt" चलाएं। आप इसे "adb logcat -f filename" चलाकर भी पूरा कर सकते हैं।
एक बार जब आपके पास लॉग फ़ाइल हो, तो आप इसे Sed और Awk या Grep का उपयोग करके पार्स कर सकते हैं, या बस इसे उस डेवलपर को भेज सकते हैं जिसने इसका अनुरोध किया था।
यह इंगित करने योग्य है कि logcat तब तक चलेगा जब तक आप इसे बताएंगे। अगर आप आउटपुट को टेक्स्ट फ़ाइल में कॉपी कर रहे हैं और कनेक्शन समाप्त करना भूल जाते हैं, तो आपको आश्चर्य नहीं होना चाहिए अगर आपके पास कोई हार्ड ड्राइव स्पेस नहीं बचता। इसे बंद करने के लिए, बस CTRL-C दबाएं।
जैसा कि DevOps या सिस्टम एडमिनिस्ट्रेशन में काम करने वाला कोई भी व्यक्ति आपको बताएगा, लॉग फाइलें काफी आसानी से दसियों गीगाबाइट तक फैल सकती हैं, और उससे आगे। आपको चेतावनी दी गई है।
आउटपुट फ़िल्टरिंग पर एक नोट
यह ध्यान देने योग्य है कि आप logcat को कुछ प्रकार के आउटपुट को प्राथमिकता देने के लिए बता सकते हैं। अगर आप "V" फ्लैग के साथ logcat चलाते हैं ("adb logcat V"), तो आप बिल्कुल सब कुछ देखेंगे। ऐसा इसलिए है क्योंकि आपने "वर्बोज़ मोड" इनेबल कर दिया है।
लेकिन अन्य ट्रिगर हैं जो आपको अधिक विशिष्ट प्रकार के एरर मैसेज दिखाते हैं। "I" ट्रिगर केवल आपको जानकारी दिखाता है, जबकि "D" डिबग मैसेज दिखाता है। अधिक जानकारी के लिए, आधिकारिक Android Debug Bridge दस्तावेज़ देखें।
हालांकि, यह ध्यान देने योग्य है कि जब तक आपको अन्यथा नहीं बताया गया है, डिफ़ॉल्ट सेटिंग्स का उपयोग करके logcat चलाना सबसे अच्छा है। ऐसा इसलिए है ताकि जिस व्यक्ति ने लॉग फ़ाइल का अनुरोध किया है, उसे अपने ऐप को ठीक करने के लिए आवश्यक सभी जानकारी मिल सके, और वे कुछ भी न चूकें।
क्या रूटेड डिवाइस के लिए कोई समाधान है?
वास्तव में, हां! अगर आपके पास रूटेड फोन या टैबलेट है, तो आप Google Play Store से "aLogCat" इंस्टॉल कर सकते हैं। यह एक मुफ्त संस्करण में आता है, और एक पेड संस्करण में। दोनों समान हैं, हालांकि बाद वाला डेवलपर को आर्थिक रूप से सपोर्ट करता है।
aLogCat को अलग बनाता है यह कि यह सीधे आपके डिवाइस पर चलता है, और कुछ फीचर्स के साथ आता है जो एरर लॉग्स से निपटना आसान बनाते हैं।
मैसेज हाइलाइट किए गए हैं, जिससे आप नेत्रहीन रूप से देख सकते हैं कि कौन से मैसेज एरर हैं, और कौन से निर्दोष सिस्टम नोटिफिकेशन हैं। आप उन्हें ईमेल, ब्लूटूथ और PasteDroid के माध्यम से PasteBin पर भी शेयर कर सकते हैं।
अगर आप अपने लॉग्स को सीधे SD कार्ड पर लगातार सेव करना चाहते हैं, तो आपको aLogRec नामक एक अलग एप्लिकेशन डाउनलोड करना होगा। यह भी मुफ्त संस्करण और डोनेट संस्करण में आता है, और इसे Google Play Store से प्राप्त किया जा सकता है।
लेकिन क्या होगा यदि आप लॉग फ़ाइलों को सीधे अपने फोन पर देखना और संपादित करना चाहते हैं? उसके लिए, मैं Vim Touch की सिफारिश करता हूं, जो VIM टेक्स्ट एडिटर का एक मुफ्त मोबाइल संस्करण है। मैंने सबसे पहले इसके बारे में कुछ साल पहले लिखा था, जब Android डिवाइस पर PHP डेवलपमेंट एनवायरनमेंट सेट अप करने के सर्वोत्तम तरीकों पर चर्चा कर रहा था।
चीजों को समेटने से पहले, मैं यह इंगित करना चाहता हूं कि अपने फोन को रूट करने के परिणामस्वरूप आपका फोन मैलवेयर के प्रति अधिक संवेदनशील हो सकता है, और कुछ एप्लिकेशन (विशेष रूप से बैंकिंग एप्लिकेशन) काम नहीं कर सकते हैं।
अगर आप अपने डिवाइस को केवल अपनी लॉग फाइलें प्राप्त करने के लिए रूट करने पर विचार कर रहे हैं, तो मैं दृढ़ता से अनुशंसा करता हूं कि आप इसके बजाय टेथर्ड, ADB-आधारित दृष्टिकोण का उपयोग करें। यह उतना ही आसान है, और कहीं अधिक सुरक्षित है।
आपकी बारी!
क्या आपको कभी अपने फोन या टैबलेट के सिस्टम लॉग को प्राप्त करना पड़ा है? कैसे? क्या आपको यह आसान लगा? आपने किस विधि का उपयोग किया? नीचे कमेंट्स में मुझे बताएं।