2017-07-23 14 views
6

मुझे android.permission.READ_LOGS एंड्रॉइड अनुमति के उपयोग के संबंध में बहुत विरोधाभासी जानकारी मिल रही है। सबसे पहले, एंड्रॉइड डॉक्यूमेंटेशन वेबसाइट इस अनुमति के सुरक्षा स्तर को निर्दिष्ट नहीं करती है। यह न तो सामान्य, न ही खतरनाक के रूप में वर्गीकृत है। वे निम्नलिखित निर्दिष्ट करते हैं:क्या एक सामान्य या खतरनाक एंड्रॉइड अनुमति READ_LOGS है?

"तीसरे पक्ष के अनुप्रयोगों द्वारा उपयोग के लिए नहीं, क्योंकि लॉग प्रविष्टियां उपयोगकर्ता की निजी जानकारी हो सकती हैं।"

कुछ वेबसाइटें एक ही गोपनीयता चिंताओं के लिए इसका उपयोग नहीं करती हैं। हालांकि मुझे लगता है कि के साथ कुछ मुद्दा है:

  1. जब मैं एंड्रॉयड 7.1.1 (Nexus 5X) और एंड्रॉयड 4.4.2 (पुराने सैमसंग 8 "टैबलेट) पर मेरे एप्लिकेशन में इस अनुमति का परीक्षण किया, उनमें से कोई भी मुझे के लिए प्रेरित किया ऐप को इस अनुमति की आवश्यकता थी। दोनों ने कहा कि ऐप ने "कोई विशेष अनुमति नहीं" का अनुरोध किया है। यह केवल तभी होता है जब अनुमति को "सामान्य" समझा जाता है, जिस स्थिति में इसे स्वचालित रूप से दिया जाता है।
  2. दूसरा, इस अनुमति का उपयोग करके, मैं कर सकता हूं केवल मेरे ऐप से संबंधित लॉगकैट से लॉग देखें, जो किसी भी व्यक्तिगत जानकारी को लॉग नहीं करता है। इसलिए, मैं किसी भी गोपनीयता का उल्लंघन नहीं करता हूं। मैंने सोचा कि यह अनुमति मुझे अन्य ऐप के लॉग देखने की अनुमति दे सकती है, जिससे गोपनीयता समस्याएं आती हैं।

तो, यदि ऐसा है, तो क्या यह ऐप के उत्पादन संस्करण में इस अनुमति का उपयोग करने के लिए सुरक्षित माना जाता है? इससे मुझे अजीब बग उपयोगकर्ताओं को सामना करने में बहुत मदद मिलेगी यदि वे मुझे बटन के प्रेस द्वारा लॉगबैक भेज सकते हैं।

संपादित करें: ठीक है, अब मैं काफी उलझन में हूं। ऐसा प्रतीत होता है कि मुझे अभिव्यक्ति में स्पष्ट रूप से इस अनुमति को निर्दिष्ट करने की आवश्यकता नहीं है।

+0

ठीक है, आगे खोदने के बाद, गीथब पर यह धागा मेरे अवलोकनों की पुष्टि करता है और यह अनुमति का उपयोग करने के लिए ठीक लगता है: https://github.com/ACRA/acra/issues/292 –

+0

ठीक है, ऐसा लगता है कि मैं करता हूं जैसा कि मैंने परीक्षण किया है, एंड्रॉइड 7 या एंड्रॉइड 4.4 पर READ_LOGS अनुमति की आवश्यकता नहीं है। तो, लोग क्यों कहते हैं कि आपको पढ़ने वाली सभी वेबसाइटों पर लॉग पढ़ने के लिए आपको इस अनुमति की आवश्यकता है? –

उत्तर

3

क्या एक सामान्य या खतरनाक एंड्रॉइड अनुमति READ_LOGS है?

न तो। एंड्रॉइड 7.1 के रूप में, यह signature|privileged|development है। इसका मूल रूप से अर्थ है कि फर्मवेयर के हिस्से के रूप में हस्ताक्षरित ऐप्स विशेषाधिकार प्राप्त विभाजन पर स्थापित या स्थापित किए गए हैं, लेकिन अनुमति कुछ भी नहीं हो सकती है।

एंड्रॉयड प्रलेखन वेबसाइट इस अनुमति

सही के संरक्षण के स्तर के बारे में नहीं है। पिछला-संगतता कारणों के लिए READ_LOGS अभी भी एसडीके में है, लेकिन सामान्य ऐप्स एंड्रॉइड 4.1 के बाद इसे पकड़ने में सक्षम नहीं हैं, जो five years ago से बाहर आया था।

यह केवल तब होता है, तो अनुमति समझा जाता है "सामान्य", जो मामले में यह स्वचालित रूप से दी जाती है।

सं

मैंने सोचा था कि इस अनुमति मुझे अन्य एप्लिकेशन के लॉग को देखने के लिए अनुमति दे सकता है, गोपनीयता के मुद्दों के कारण।

यह एंड्रॉइड 4.0 और इससे पहले था।

तो क्या यह ऐप के उत्पादन संस्करण में इस अनुमति का उपयोग करने के लिए सुरक्षित माना जाता है?

अच्छा, ध्यान रखें कि ऐप्स के लिए लॉग-सामग्री सामग्री तक पहुंचने के लिए कभी भी एक दस्तावेज और समर्थित तरीका नहीं रहा है। सबसे अधिक संभावना है कि आप पोस्ट किए गए स्क्रिप्ट-किड्डी समाधानों में से एक का उपयोग कर रहे हैं, जैसे logcat कमांड चलाने और इसके आउटपुट को कैप्चर करना। इसलिए, यह पूरी तरह से संभव है कि डिवाइस या अब भविष्य में, जो लॉगकैट तक पहुंचने के लिए आपके विशेष दृष्टिकोण का समर्थन नहीं करेंगे। तो, अनुमति आपकी समस्या नहीं है; LogCat एक्सेस के लिए समर्थित API की कमी आपकी समस्या है।

व्यक्तिगत रूप से, मैं किसी भी फ़ाइल और लॉगकैट पर सामग्री लॉग इन करने के लिए लॉगिंग लाइब्रेरी का उपयोग करता हूं, जो कि आपके ऐप को इसके लिए आवश्यक है।

+0

त्वरित प्रतिक्रिया के लिए धन्यवाद। यह वास्तव में बहुत भ्रमित था, लेकिन मुझे लगता है कि मुझे अंत में यह मिला। आपका उत्तर, इसके साथ: https://stackoverflow.com/a/16795874/2611713 ने मेरे लिए यह स्पष्ट किया। मेरा उपयोग केस वर्तमान परिदृश्य फिट बैठता है, क्योंकि मैं केवल किसी भी अप्रत्याशित दुर्घटनाओं के कारण अपने ऐप द्वारा बनाए गए लॉग पढ़ना चाहता हूं। मैं अपने स्वयं के लॉग पढ़ने के लिए इस विधि का उपयोग कर रहा हूं: https://stackoverflow.com/a/20497850/2611713। मुझे पता नहीं है कि इसे एक स्क्रिप्ट-किडी दृष्टिकोण माना जाता है! भ्रम का मेरा मुख्य स्रोत अनुमति की आवश्यकता थी। –

+0

इसके अलावा, मैं 1 9 के न्यूनतम एपीआई को लक्षित करता हूं इसलिए मुझे पिछड़े संगतता के बारे में चिंता करने की आवश्यकता नहीं है। –

+0

@ लाइट-व्हाउंटस्टोकनो: "मुझे पता नहीं है कि इसे स्क्रिप्ट-किडी दृष्टिकोण माना जाता है" - हां, 'logcat' कमांड की उपलब्धता के रूप में गारंटी नहीं है, और किसी भी डिवाइस' logcat' कमांड का व्यवहार है दस्तावेज नहीं – CommonsWare

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