2010-08-13 14 views
30

बस इसके बिल्ली के लिए, मैंने अपने आवेदन (हैलो वर्ल्ड) से सभी अनुमतियों का अनुरोध किया, यह देखने के लिए कि कौन से अनुमतियां दी गई हैं और इन्हें अस्वीकार कर दिया गया है! मेरे मनोरंजन के लिए मुझे लगभग 40 अनुमतियां नहीं मिलीं! दो अज्ञात अनुमतियों के रूप में लौटा दिए गए थे।इन अनुमतियों को क्यों मना कर दिया जा रहा है?

यहाँ सभी अनुमतियों है कि मेरे पास नहीं दी गई थी की लॉग है -

W/PackageManager( 61): Not granting permission android.permission.ACCESS_CHECKIN_PROPERTIES to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.ACCESS_SURFACE_FLINGER to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.ACCOUNT_MANAGER to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BIND_APPWIDGET to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BIND_DEVICE_ADMIN to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BIND_INPUT_METHOD to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BIND_WALLPAPER to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BRICK to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BROADCAST_PACKAGE_REMOVED to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BROADCAST_SMS to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.BROADCAST_WAP_PUSH to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.CALL_PRIVILEGED to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.CHANGE_COMPONENT_ENABLED_STATE to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.CLEAR_APP_USER_DATA to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.CONTROL_LOCATION_UPDATES to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.DELETE_CACHE_FILES to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.DELETE_PACKAGES to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.DEVICE_POWER to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.DIAGNOSTIC to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.FACTORY_TEST to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.FORCE_BACK to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.GLOBAL_SEARCH to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.HARDWARE_TEST to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.INJECT_EVENTS to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.INSTALL_LOCATION_PROVIDER to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.INSTALL_PACKAGES to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.INTERNAL_SYSTEM_WINDOW to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.MANAGE_APP_TOKENS to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.MASTER_CLEAR to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.READ_FRAME_BUFFER to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Unknown permission android.permission.READ_HISTORY_BOOKMARKS in package com.robosoft.linuxtop 
W/PackageManager( 61): Not granting permission android.permission.READ_INPUT_STATE to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.REBOOT to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.SET_ACTIVITY_WATCHER to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.SET_ORIENTATION to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.SET_PREFERRED_APPLICATIONS to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.SET_TIME to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.STATUS_BAR to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.UPDATE_DEVICE_STATS to package com.robosoft.linuxtop (protectionLevel=2 flags=0x8444) 
W/PackageManager( 61): Not granting permission android.permission.WRITE_GSERVICES to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 
W/PackageManager( 61): Unknown permission android.permission.WRITE_HISTORY_BOOKMARKS in package com.robosoft.linuxtop 
W/PackageManager( 61): Not granting permission android.permission.WRITE_SECURE_SETTINGS to package com.robosoft.linuxtop (protectionLevel=3 flags=0x8444) 

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

यदि आप नियमित अनुमतियों और सुरक्षा दस्तावेजों को इंगित करने के बजाय मुझे वास्तव में इस अवधारणा को कुछ पंक्तियों में समझाते हैं तो मैं इसकी बहुत सराहना करता हूं। मैंने इसे दो बार पढ़ा है और मुझे लगता है कि मेरी समझ में कुछ परिप्रेक्ष्य में कमी है। इसलिए मैं इसे समझाने में कुछ और प्रयास पढ़ना पसंद करूंगा। धन्यवाद

+0

एक एंड्रॉइड विशेषज्ञ नहीं है, लेकिन एम्बेडेड सिस्टम में किसी अन्य अनुभव के साथ किसी के रूप में बोल रहा है, इनमें से बहुत से दिखने लगते हैं कि वे खतरनाक खतरनाक हो सकते हैं। और अगर वे एक वास्तविक डिवाइस पर कभी उपलब्ध नहीं होंगे, तो उन्हें एमुलेटर में अनुमति देने के लिए ज्यादा समझ नहीं आएगी - यह एक डेवलपर के समय को बर्बाद करने का एक शानदार तरीका होगा जिसे किसी डिवाइस के बिना विकसित करना है जबकि और अनजाने में एक अनुमति पर निर्भर करता है जो वह नहीं हो सकता है। –

+0

मैं आपसे सहमत हूं, लेकिन एक शोधकर्ता परिप्रेक्ष्य से मुझे लगता है कि इन्हें अनुमति दी जानी चाहिए। मैं वास्तव में परीक्षण करने की इजाजत देता हूं कि एंड्रॉइड वास्तव में हमें उस सीमा को समझने की अनुमति देता है जिस पर एंड्रॉइड डिवाइस को प्रभावित कर सकता है। – Shouvik

+1

ठीक है, मुझे लगता है कि एमुलेटर शेष एसडीके के साथ ओपन-सोर्स है, इसलिए इसे अनुमतियों तक पहुंचने की अनुमति देने के लिए इसे पुनर्निर्माण करना संभव होना चाहिए। हालांकि, यह मुश्किल होगा। –

उत्तर

31

एंड्रॉयड अनुमतियों को चार समूहों के लिए अलग होती है:
- रेगुलर
- खतरनाक
- सिस्टम या हस्ताक्षर
- हस्ताक्षर

पहले दो समूहों में अनुमतियां किसी भी आवेदन के लिए दी जा सकती हैं।
अंतिम दो केवल उन अनुप्रयोगों द्वारा प्राप्त किए जा सकते हैं जो सिस्टम - डिवाइस के फर्मवेयर में पूर्वस्थापित हैं या पर "प्लेटफ़ॉर्म कुंजी" के साथ हस्ताक्षरित हैं, यानी वही कुंजी जिसका उपयोग फर्मवेयर पर हस्ताक्षर करने के लिए किया गया था।

+2

मुझे कैसे पता चलेगा कि समूह क्या हैं? Google का कोई उल्लेख नहीं है कि अनुमति के चार समूहों में से कौन सा अनुमति है http://developer.android.com/reference/android/Manifest.permission।एचटीएमएल –

+0

@adamk अगर मैं ऐप में/system/app में सिद्धांत डालता हूं तो ऐप एक "सिस्टम" ऐप बन गया है, इसलिए मैं INSTALL_PACKAGES का उपयोग करने के लिए विशेषाधिकार प्राप्त करूंगा, यह सही है? लेकिन ऐसा लगता है कि http://stackoverflow.com/q/8130677/774543 – Zorb

+0

@ कहीं कहीं नहीं: चार सुरक्षा समूह यहां दिखाई देते हैं: http://developer.android.com/guide/topics/manifest/permission -element.html। स्वीकार्य उत्तर में एक थ्रेड का एक लिंक भी है जो हस्ताक्षर और हस्ताक्षरऑरसिस्टम सुरक्षा स्तर का उल्लेख करता है। – Theo

9

किसी ने परीक्षण किया है कि आप से पहले, लेकिन वह एक दिलचस्प सोच है: http://groups.google.com/group/android-developers/browse_thread/thread/3af09c76f3ba8d96/d314c4adaaa217c4?show_docid=d314c4adaaa217c4&pli=1

+0

धन्यवाद इस लिंक ने वास्तव में थोड़ा सा मदद की, लेकिन फिर दस्तावेज़ की समस्या के लिए फिर से वापस आ गया! : आपकी मदद के लिए डी – Shouvik

+0

+1 .. :) – Shouvik

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