2013-05-07 9 views
23

एंड्रॉइड प्रलेखन में एडीबी अनुदान और एडीबी निरस्त आदेशों का निम्नलिखित विवरण शामिल है।मैं एडीबी अनुदान या एडीबी निरस्तक का उपयोग कैसे करूं?

grant <PACKAGE_PERMISSION> 

अनुप्रयोगों को अनुदान अनुमतियां। एप्लिकेशन द्वारा घोषित केवल वैकल्पिक अनुमतियां दी जा सकती हैं।

revoke <PACKAGE_PERMISSION> 

एप्लिकेशन को अनुमतियां रद्द करें। एप्लिकेशन द्वारा घोषित केवल वैकल्पिक अनुमतियों को रद्द कर दिया जा सकता है।

क्या कोई भी उन्हें उपयोग करने के लिए सही वाक्यविन्यास का उदाहरण दे सकता है?

मुझे लगता है कि android.permission.WRITE_EXTERNAL_STORAGE, या शायद WRITE_EXTERNAL_STORAGE जैसी अनुमति होगी। खैर मैंने उन लोगों की कोशिश की, और कई अन्य और मैं इसे काम नहीं कर सकता।

मैं भी पैकेज और अनुमति के कई संयोजन है, जो मुझे

उत्तर

34

तो लॉलीपॉप में (यह एक आदेश है कि एक पैकेज, सभी पर एक अनुमति संशोधित करेगा की तरह लगता है) के लिए और अधिक समझ में आता है (कोई लाभ नहीं हुआ) की कोशिश की

adb shell pm grant com.name.app android.permission.READ_PROFILE 

इस पर एंड्रॉयड एम बदलने के लिए माना जाता है और आप बस का उपयोग करने में सक्षम होना चाहिए: मैं तुम्हें "एडीबी खोल" क्या करने की जरूरत पहले तो तुम क्या करने की कोशिश की काम करना चाहिए लगता है

adb shell pm revoke com.name.app android.permission.READ_PROFILE 

अनुमतियों की एक पूरी सूची here मिल सकती है। यदि आपके पास android build tools सेट अप है तो आप देख सकते हैं कि ऐप किस अनुमति का उपयोग कर रहा है।

adb pull /path/to/package/from/previous/step.apk 

अनुमतियाँ तब मिलती है:: सबसे पहले उपयोग

adb shell pm list packages -f 

फिर कंप्यूटर आप के लिए पैकेज की प्रतिलिपि

aapt d permissions path/to/app/on/computer.apk 
+1

कैसे आ PACKAGE_USAGE_STATS इस तरह से नहीं दी जा सकती है उपयोग कर सकते हैं? क्या कोई विकल्प है? –

2

तो यहाँ एक छोटे से कमांड लाइन है (Mac/Linux) अपने ऐप्लिकेशन देने के लिए कमांड लाइन से इसकी सभी अनुमतियां आवश्यक हैं।

aapt d permissions ./path/to/your.apk \ 
    | sed -n \ 
    -e "s/'//g" \ 
    -e "/^uses-permission: name=android.permission\./s/^[^=]*=//p" \ 
    | xargs -n 1 adb shell pm grant com.your.package 
5

आप अनुमति का नाम पता नहीं होता है या सभी अनुमतियों को साफ़ करना चाहते हैं आप

adb shell pm reset-permissions your.package.name 
+3

** इस आदेश से सावधान रहें क्योंकि यह आपके सभी सिस्टम अनुमतियों को रीसेट कर देता है। ** अपराह्न रीसेट-अनुमति पैरामीटर रहित है। यह आपके.package.name की परवाह नहीं करता है। –