अनुमति केवल सिस्टम ऐप को दी जाती है


98

मेरे पास एक सिस्टम ऐप है जो सिस्टम अनुमतियों का उपयोग करता है और मेरे पास उन अनुमतियों को प्रकट में सूचीबद्ध है। जब मैं निर्माण करने का प्रयास करता हूं तो ग्रहण निम्नलिखित त्रुटि देता है (कमांड लाइन बिल्ड कार्य):

अनुमति केवल सिस्टम ऐप्स को दी जाती है

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

संपादित करें
मेरा प्रोजेक्ट पहले से ही कमांड लाइन पर ठीक संकलित करता है, स्थापित करता है, चलाता है, आदि। मेरी समस्या एक वैध मैनिफ़ेस्ट फ़ाइल के लिए त्रुटि देने वाले ग्रहण के बारे में है।



@AndroSelva यह असंबंधित है, मेरी परियोजना पहले से ही कमांड लाइन, इंस्टॉल, रन आदि पर ठीक संकलित करती है। मेरी समस्या ग्रहण के बारे में है जो एक कानूनी प्रकटन फ़ाइल के लिए एक त्रुटि दे रही है। IMO को इस मामले में केवल एक चेतावनी का उत्पादन करना चाहिए।
Caner

जवाबों:


205

ग्रहण में:

विंडो -> वरीयताएँ -> Android -> लिंट त्रुटि जाँच।

सूची में एक प्रविष्टि के साथ खोजें ID = ProtectedPermission। त्रुटि से कुछ कम करने के लिए गंभीरता सेट करें। इस तरह आप अभी भी ग्रहण का उपयोग करके परियोजना को संकलित कर सकते हैं।

Android स्टूडियो में:

फ़ाइल -> सेटिंग्स -> संपादक -> निरीक्षण

के तहत Android Lint, का पता लगाने के लिए Using system app permission। या तो चेकबॉक्स को अनचेक करें या त्रुटि से कम गंभीरता चुनें।


1
धन्यवाद! एंड्रॉइड स्टूडियो 1.2 में, मैंने इसे फ़ाइल -> सेटिंग्स -> संपादक -> निरीक्षण के तहत पाया ।
हारून

मैं स्क्रीन चमक को प्रोग्रामेटिक रूप से बदलना चाहता हूं। मैंने सेटिंग्स के तहत लिंट को संपादित किया है। लेकिन यह स्क्रीन की चमक को प्रोग्रामेटिक रूप से बदलने की कोशिश करते हुए कुछ सुरक्षा अपवादों को फेंक रहा है। किसी के पास मार्शमैलो के ऊपर एंड्रॉइड 3.1 में इस सुविधा को लागू करने का कोई समाधान है, कृपया साझा करें।
निथिनजिथ

3
एंड्रॉइड स्टूडियो 2.1 में, फ़ाइल पर जाएं -> सेटिंग्स -> संपादक -> निरीक्षण फिर एंड्रॉइड> लिंट> सुधार का विस्तार करें। "सिस्टम ऐप अनुमति का उपयोग करना" चुनें, गंभीरता बदलें या चेकबॉक्स को अनचेक करें।
यहेजकेल बनियागा

2
यह Android > Lint > Correctnessमेरे लिए था।
बियोंडो

75

केवल एक उदाहरण के लिए इस त्रुटि को अनदेखा करने के लिए, tools:ignore="ProtectedPermissions"अपनी अनुमति घोषणा में विशेषता जोड़ें । यहाँ एक उदाहरण है:

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
    tools:ignore="ProtectedPermissions" />

आपको toolsप्रकट मूल तत्व में नाम स्थान जोड़ना होगा

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

3
यह सही अन्वेषक है। संपूर्ण निरीक्षण को अक्षम करने की आवश्यकता है क्योंकि यह केवल आंशिक रूप से आवश्यक है। शुक्रिया जनाब!
योरको गोंजालेस

आपको नामस्थान ... xmlns: tools = " schemas.android.com/tools " जोड़ने की आवश्यकता होगी
पर्पलकैब

13

समय-समय पर एक ही त्रुटि होती है (जब मैं स्थापित स्थान को "बाहरी रूप से पसंद करने के लिए" प्रकट रूप में स्थापित करता हूं)। बस साफ और पुनर्निर्माण परियोजना। मेरे लिये कार्य करता है।


3

जब आपका प्रदर्शन प्रकट होने की अनुमति देता है तब ग्रहण में परियोजना और क्लिक पर जाएं

  1. प्रोजेक्ट पर क्लिक करें
  2. स्वच्छ परियोजना पर क्लिक करें

k स्वच्छ परियोजना पर


2
tools:ignore="ProtectedPermissions"

इस विशेषता को उस अनुमति में जोड़ने का प्रयास करें।


1

वरीयताएँ -> EditorEditor -> निरीक्षण -> Android Lint -> सिस्टम ऐप permissio का उपयोग करके आइटम को अनचेक करें


1

मैक में Android स्टूडियो में पथ:

Android Studio -> प्राथमिकताएँ -> संपादक -> निरीक्षण

Android का विस्तार करें -> विस्तार करें Lint -> विस्तार सही करें

सिस्टम ऐप अनुमति का उपयोग करने के लिए चेकबॉक्स को अनचेक करें

"APPLY" -> "OK" पर क्लिक करें

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