2016-01-02 3 views
5

वर्तमान के लिए काम नहीं कर रहा है, मैं अपने एप्लिकेशन स्थानांतरण की प्रक्रिया में हूँ एपीआई लक्षित करने के लिए 23.एक प्रकार का वृक्ष लापता अनुमतियों का पता लगाने

यह मुझे कुछ समय लगता है क्यों accountManager.getAccountsByType("com.google") अब यह पता लगाने की काम। http://developer.android.com/intl/es/training/permissions/requesting.html

मैं एंड्रॉयड स्टूडियो का उपयोग कर रहा 1.5.1

http://tools.android.com/tips/lint-checks के अनुसार, मैं, फाहा निम्न कोड के लिए मुझे चेतावनी देने में सक्षम उम्मीद कर रहा हूँ MissingPermission पर आधारित - यह नया Marshmallow अनुमति मॉडल की वजह से है

public static String getEmail() { 
    Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ 
    AccountManager accountManager = AccountManager.get(MyApplication.instance()); 
    Account[] accounts = accountManager.getAccountsByType("com.google"); 

    for (Account account : accounts) { 
     if (emailPattern.matcher(account.name).matches()) { 
      String possibleEmail = account.name; 
      return possibleEmail; 
     } 
    } 
} 

मैंने अपने सिस्टम में स्थापित लिंट की जांच की। मैं पुष्टि कर सकता MissingPermission सुविधा

c:\adt-bundle-windows-x86_64-20140624\sdk\tools\lint.bat --show 

के माध्यम से होती है लेकिन, मुझे एंड्रॉयड स्टूडियो में कोई चेतावनी प्राप्त किया। मैंने एंड्रॉइड स्टूडियो में लिंट सेटिंग की जांच की थी।

enter image description here

ऐसा लगता है कि मैं किसी भी "गुम अनुमति" विकल्प वहाँ नहीं दिख रहा।

क्या मेरे एंड्रॉइड स्टूडियो सेटिंग्स में कुछ गड़बड़ है?

मैं Evernote टीम एक बार याद आ रही अनुमतियों की जाँच कर फाहा के बारे में एक बग रिपोर्ट फ़ाइल देख सकते हैं - https://code.google.com/p/android/issues/detail?id=182165 लेकिन यह तय हो गई है के बाद से एंड्रॉयड स्टूडियो 1.4

+0

अच्छा, यहां एक जैसा है। मुझे संदेह है कि किसी ने चुपचाप टिप्पणी की है, मुझे यकीन है कि यह काम कर रहा था, 'अवरुद्ध' लिंट त्रुटि दिखा रहा है। हो सकता है कि http://stackoverflow.com/questions/33611120/android-studio-not-showing- खतरनाक- अनुमतियां- चेतावनी संबंधित हैं, लेकिन AS1.4.1 के साथ। – Shine

+0

अपनी परियोजना की जड़ से 'gradlew lint check missingPermission' चलाने का प्रयास करें ... मुझे रूट प्रोजेक्ट में "टास्क 'मिसिंगप्रमिशन नहीं मिला है" त्रुटि संदेश। तो आईएमएचओ कि com.android.tools.build:gradle:1.5.0 (नवंबर 2015) – Shine

+0

का उपयोग कर एंड्रॉइड स्टूडियो में लिंट चेक मौजूद नहीं है यह 2.1.2 में भी काम नहीं कर रहा है। क्या तुम्हारे पास कोई विचार है ? – Heisenberg

उत्तर

0

मैं एंड्रॉयड स्टूडियो 2.0 बीटा उपयोग कर रहा हूँ 2

मैं एक की क्या ज़रूरत है विभिन्न श्रेणियों में गायब अनुमति सेटिंग्स में से कुछ ने अन्य श्रेणियों की जांच की है?

Lint permissions

संपादित करें:MissingPermission इनमें से किसी भी होने के लिए प्रतीत नहीं होता।

+0

ऐसा नहीं लगता ... दस्तावेज़ के वर्णन है: MissingPermission ----------------- सारांश: लापता अनुमतियां प्राथमिकता: 9/10 गंभीरता: त्रुटि श्रेणी: सुधार यह चेक आपके कोड और पुस्तकालयों के माध्यम से स्कैन करता है और होने वाली एपीआई को देखता है, और उन एपीआई तक पहुंचने के लिए आवश्यक अनुमतियों के सेट के विरुद्ध यह जांचता है। यदि उन API का उपयोग करने वाले कोड को रनटाइम पर कॉल किया जाता है, तो प्रोग्राम क्रैश होगा। – Shine

+0

आप मेरे स्क्रीनशॉट की अनुमतियों में से एक को सही तरीके से देख रहे हैं उनमें से कोई भी कवर नहीं करता है या इसका तात्पर्य है कि यह 'मिसिंगप्रमिशन' के लिए काम करता है जिसका अर्थ है कि यह समस्या एंड्रॉइड स्टूडियो 2.0 बीटा 2 में बनी रहती है ?! हम लिंट संस्करण की जांच कैसे करते हैं? – madlymad

+0

ऐसा लगता है कि इस चेक को 'चुपचाप' को 'लिंट -वर्जन' के साथ एएस के लिंट – Shine

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