क्या लॉगकैट तक पहुंच की आवश्यकता है?


9

मेरा उपकरण पहले से ही निहित है, यही कारण है कि मैं पूछ रहा हूं।

क्या आपको फोन पर लॉगकैट स्ट्रीम की निगरानी के लिए रूट की आवश्यकता है? अगर मैं फोन पर टर्मिनल के भीतर से लॉगकैट कमांड चलाता, तो क्या वह काम करता?

जवाबों:


15

बाज़ार में ये मुफ्त ऐप्स आपके लॉगकैट को प्रदर्शित करने में सक्षम होने का दावा करते हैं, और रूट का कोई उल्लेख नहीं करते हैं। उन्हें आज़माने में आपको केवल कुछ मिनट लगने चाहिए:

EDIT: मुझे याद दिलाने के लिए @mente को धन्यवाद कि ये ऐप आपको केवल एंड्रॉइड के पुराने संस्करणों में पूर्ण लॉगफ़ाइल देखने देगा। एंड्रॉइड 4.1 लॉगफ़ाइल्स के चारों ओर एक नए सुरक्षा मॉडल में लाया गया था, जिसका अर्थ था कि ऐप्स केवल अपने लॉगफ़ाइल्स और लॉगफ़ाइल प्रविष्टियों को पढ़ सकते हैं, और सिस्टम या अन्य ऐप द्वारा लिखित लॉगफ़ाइल प्रविष्टियों को नहीं पढ़ सकते हैं।

हालांकि, ऐप के उपयोगकर्ता के लिए अभी भी दोनों ही तरह से ऐप की हाल की लॉग प्रविष्टियों को एक डेवलपर को भेजा जा सकता है, और फोन के मालिक को अनुमति देता है कि वह ऐप को पूर्ण रूट के बिना लॉगफाइल को पढ़ने की अनुमति दे, लेकिन यह आपको एडीबी कमांड का उपयोग करने की आवश्यकता है, जो दुर्भाग्य से इसे सबसे सामान्य फोन उपयोगकर्ताओं की पहुंच से बाहर ले जाता है:

यदि आप चाहते हैं कि उपयोगकर्ता आपको डिबगिंग की जानकारी दे, तो आप उन्हें पावर + वॉल्यूम डाउन + वॉल्यूम के साथ एक बग रिपोर्ट उत्पन्न कर सकते हैं जिसमें लॉग और बहुत सारे अन्य डेटा शामिल हैं, और यह सब भेजने के लिए अपने ई-मेल ऐप को स्वचालित रूप से लाता है। (प्लस एक स्क्रीनशॉट)। हम सिर्फ इस बात पर चर्चा कर रहे थे कि हमारे पास इन्हें उत्पन्न करने का एक आसान तरीका होना चाहिए, मैं सेटिंग्स ऐप में कुछ जोड़कर देखने जा रहा हूं।

मैंने एक "विकास" अनुमति की अवधारणा को भी शुरू किया है , जो पढ़े हुए लॉग को वर्गीकृत किया जाता है। यह एप्लिकेशन को अनुमति का अनुरोध करने की अनुमति देता है, लेकिन इसे इंस्टॉल पर नहीं मिलता है। हालाँकि इसे स्थापित करने के बाद आप इसे adb शेल कमांड के साथ दे सकते हैं । कुछ समय बाद मुझे उम्मीद है कि ऐसा करने के लिए सिस्टम में UI होगा, लेकिन हम इस बात पर ध्यान देने वाले हैं कि हम इसे कैसे पेश करते हैं।

एंड्रायड फ्रेमवर्क इंजीनियर, डायने हैकॉर्न द्वारा Google समूह की एक पोस्ट का अंश । मेरा जोर।

लॉग को पढ़ने के लिए एक आवेदन अनुमति देने के लिए उल्लिखित ADB कमांड है:

adb shell pm grant <pkg> android.permission.READ_LOGS

इस सेटिंग को ऐप के रिबूट और अपग्रेड (लेकिन अनइंस्टॉल / रिइंस्टॉल नहीं) से बचना चाहिए।


एंड्रॉइड 4.1 से शुरू होकर आपको अन्य एप्लिकेशन लॉग पढ़ने के लिए रूट एक्सेस की आवश्यकता है। कैटलॉग डेवलपर ने स्पष्टीकरण पोस्ट किया । मान लें कि ये एप्स
५:१६

1
यह शॉर्टकट खदान पर काम नहीं करता है Android 4.1.2
mente

: मैं एक पीसी से कलेक्ट लॉग के लिए एक उपयोगिता बनाया gist.github.com/hrj/5983971
HRJ

4

आपको adb logcatएंड्रॉइड एसडीके के साथ चलने के लिए अपने फोन को रूट करने की आवश्यकता नहीं है , लेकिन मैंने इसे अपने टर्मिनल एमुलेटर में परीक्षण किया था और मुझे suलॉगकाट चलाने के लिए रूट होना था ( कमांड का उपयोग किया - मेरा फोन पहले से ही रूट है) मेरे फोन पर टर्मिनल।

तो हां: यदि आपके फोन में रूट है तो आप अपने फोन पर टर्मिनल से लॉगकैट चला सकते हैं।


1

नहीं, आपको logcat जानकारी प्राप्त करने के लिए रूट की आवश्यकता नहीं है।

ऐसा करने के लिए, आप शायद एसडीके के साथ आने वाले एडीबी टूल का उपयोग करके, एंड्रॉइड एसडीके डाउनलोड करना और "एडीबी लॉगकैट" चलाना चाहते हैं। वैकल्पिक रूप से, आप ADT ग्रहण प्लगइन स्थापित कर सकते हैं और इसके आसान स्ट्रीमिंग Logcat दर्शक का उपयोग कर सकते हैं।


मैं फोन से ऐसा करना चाहता हूं, एसडीके के साथ रिमोट मशीन से नहीं
वुल्फबेन

1

नहीं, आपको logcat तक पहुंचने के लिए रूट की आवश्यकता नहीं है। मेरा डिवाइस (सैमसंग गैलेक्सी नोट, जिंजरब्रेड 2.3.6 स्टॉक रॉम के साथ) निहित नहीं है (अभी तक!) और मैंने अपने डिवाइस पर लॉग का उपयोग करने के लिए निम्नलिखित तरीकों का उपयोग किया है:

  • CatLog ऐप
  • aLogcat ऐप
  • सक्रिय SSHDroid ऐप, और SSH क्लाइंट का उपयोग करके डिवाइस टर्मिनल से जुड़ा हुआ है
  • Android SDK का उपयोग करना और चलाना adb logcat

हालाँकि, टर्मिनल ऐप आपको लॉगकैट चलाने की अनुमति नहीं देता है, और आपको "अनुमति अस्वीकृत" देता है। मुझे यकीन नहीं है कि क्यों।


हाँ, जिंजरब्रेड पर ... लेकिन आज के एंड्रॉइड को रूट की आवश्यकता है।
एनएच।

1

ऐसा लगता है कि आप अपने फोन पर रूट किए बिना टर्मिनल एमुलेटर से लॉगकैट नहीं चला सकते। इस मामले में आपको पहले मुकदमा करना होगा। AFAIK, यह एंड्रॉइड अनुमतियों से आता है: टर्मिनल एमुलेटर में डिवाइस के लॉग को देखने के लिए पर्याप्त अनुमति नहीं है। तो प्रणाली का कहना है कि अनुमति से इनकार कर दिया।

दूसरी ओर, जैसा कि अन्य ने कहा, बहुत सारे ऐप हैं जो आपको डिवाइस के लॉग को सिर्फ इसलिए देखने की अनुमति देते हैं क्योंकि वे अनुमति का अनुरोध करते हैं।


0

एप्लिकेशन एंड्रॉइड सिस्टम इन्फो में लॉग इन जानकारी को स्क्रीन पर आउटपुट करने की क्षमता है, जहां तक ​​मैं बता सकता हूं कि लॉगकैट थूक के रूप में एक ही लॉग जानकारी है।


क्या आपको उस ऐप का लिंक मिला है, मैं इसे बाज़ार में नहीं पा सकता हूँ?
गठरन

@GAThrawn यदि आप अभी भी रुचि रखते हैं: मुखपृष्ठ और Google Play Store लिंक।
जूल

0

Logcat को रूट की आवश्यकता नहीं है। सिम्पल - विभिन्न एंड्रॉइड संस्करणों के संबंध में बोर्ड भर में इसका वास्तविक मानक है और यदि आप रूट किए गए हैं या नहीं तो एंड्रॉइड का हिस्सा है, और उदाहरण के लिए समस्याओं के निदान के लिए एक मानक साधन है - आप एक ऐप इंस्टॉल करते हैं, एप्लिकेशन बल के करीब, आप उक्त एप्लिकेशन के डेवलपर से शिकायत करते हैं, संभावना काफी अधिक है कि डेवलपर "लॉगकैट पर भेजें" पूछेगा, भले ही आप रूट किए गए हों या नहीं!

aLogCat वेबपेज लेआउट या सादे पाठ को लॉग करने के विकल्प के साथ, जानकारी को इकट्ठा करने का एक तरीका है, यदि आप इसे हर 15 मिनट जैसे एक निश्चित आवृत्ति पर लॉग करने के लिए शेड्यूल करते हैं, तो SDCard बहुत जल्दी भर जाएगा।

एक अन्य पहलू, लॉगकट का उपयोग कर्नेल पर निर्भर करेगा कि वह कितना स्टोर कर सकता है - रोम द्वारा उपयोग किए जाने वाले किसी भी कर्नेल में, कर्नेल स्तर से लॉगिंग के लिए स्रोत, जहां यह लॉगकोड सेवा के लिए मेमोरी रखता है। drivers/staging/android/logger.cउदाहरण के लिए उपयुक्त परिभाषित का उपयोग करके पाया जा सकता है :

DEFINE_LOGGER_DEVICE (log_main, LOGGER_LOG_MAIN, 64 * 1024) DEFINE_LOGGER_DEVICE (log_events, LOGGER_LOG_EVENTS, 256 * 1024) DEFINE_LOGGER_DEVICE (log_ERIO_GO_OGVICE)

फिर से, माइलेज अलग-अलग होगा, ऐसे रोम के कुछ डेवलपर्स मेमोरी ओवरहेड्स को कम करने के लिए खपत को कम करना पसंद करेंगे ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.