2013-09-04 6 views
7

मेरे पास एक फोनगैप ऐप है जिसे मैं वर्तमान में एंड्रॉइड के लिए विकास और परीक्षण कर रहा हूं। समस्या यह है कि, जब मैं डिवाइस पर प्रकाशित करता हूं, तो एंड्रॉइड मैनिफेस्ट अनुमति अनुरोधों से भरा होता है जिसे मैंने नहीं पूछा था।फोनगैप एंड्रॉइड अनुमतियां, config.xml और प्लगइन्स

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

अभी तक इतना अच्छा है।

मुसीबत, मेरे Android प्रकट (और एक फ़ाइल परियोजना की/प्लगइन्स निर्देशिका में "android.json" कहा जाता है) अभी भी अवांछित सुविधाओं की एक संख्या शामिल है:

<uses-permission android:name="android.permission.RECORD_VIDEO" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

के बाद से मेरे ऐप बजट के बारे में, एक "रिकॉर्ड वीडियो" अनुमति किसी भी साधु उपयोगकर्ता को सुझाव देगी कि यह एक बुराई स्नीकी ऐप है जो उनकी गोपनीयता को नष्ट करने की कोशिश कर रहा है।

मैं इन फीचर अनुरोधों से कैसे छुटकारा पा सकता हूं? मैंने पहले ही कोशिश की है ...

  1. <preference name="permissions" value="none" /> config.xml में जोड़ना।
  2. सभी संबंधित फोनगैप प्लगइन्स अनइंस्टॉल करना। मैंने एक प्लगइन ऑडियोहैंडलर को अनइंस्टॉल किया है, जो प्रोजेक्ट बनाने के दौरान प्रीइंस्टॉल किया गया प्रतीत होता है।

बेशक मैं अपने अंतिम संस्करण को प्रकाशित करने से पहले AndroidManifest.xml से मैन्युअल रूप से सामग्री को हटा सकता हूं। लेकिन मैं एक और संरचनात्मक समाधान चाहता हूं, क्योंकि मैं डिवाइस पर परीक्षण करने के लिए "कॉर्डोवा रन एंड्रॉइड" का उपयोग करता हूं, और यह एंड्रॉइडमैनीफेस्ट.एक्सएमएल और एंड्रॉइड.जेसन में सभी बदलावों को ओवरराइट करता है।

+0

अजनबी अभी भी, RECORD_VIDEO अनुमति डिवाइस पर एप्लिकेशन की सेटिंग में दिखाई नहीं करता है, लेकिन ACCESS_COARSE_LOCATION और ACCESS_FINE_LOCATION दिखाई है क्या आप वहां मौजूद हैं। – Wytze

+0

आप उन्हें प्रकट फ़ाइल से हटाते हैं, यह करने का उचित तरीका है।ग्रहण के लिए एक अच्छा इंटरफ़ेस है, या इंटेलि – kangoroo

+0

शायद प्लगइन को अनइंस्टॉल करने के बाद भी अपनी परियोजना को साफ़ करें – kangoroo

उत्तर

0

क्या आप वाकई सभी प्लगइन्स हटा चुके हैं? (use phonegap plugin list) यह देखने के लिए कि कौन से प्लगइन हैं।

मुझे यकीन है कि क्या वहाँ कोई अंतर है नहीं हूँ, लेकिन मैं डॉक्स रन कमांड दोनों स्वच्छ और निर्माण करने के लिए अनुसार

cordova run android 

की जगह में

phonegap run android 

का उपयोग करें ... तो सफाई की जानी चाहिए .. (वास्तव में मैं कुछ अतिरिक्त डीबग जानकारी प्राप्त करने के लिए -V कमांड का उपयोग करता हूं)

मुझे रास्ते में बहुत सारी परेशानी भी थी, देखें: Upgrade to phonegap 3.3.0

और एक खाली प्लेटफार्मों फ़ोल्डर के साथ शुरू मेरी कोशिश करता से एक है .... से आप यकीन है कि यह पूरी तरह से अपने मैनिफ़ेस्ट फ़ाइल के पुनर्निर्माण होना चाहिए ....

संपादित 29-1-2014

वैसे, इस CLI और phonegap 3.x मुद्दों में से सबसे अच्छा विवरण यहां पाया जा सकता है: http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/

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