2013-09-04 18 views
7

Mam aplikację Phonegap, którą obecnie rozwijam i testuję na Androida. Problem polega na tym, że po opublikowaniu na urządzeniu Manifest Androida zawiera pełne prośby o pozwolenie, o które nie prosiłem.Uprawnienia Phonegap na Androida, config.xml i wtyczki

Dowiedziałem się już, że wtyczki Phonegap (patrz this docs page pod "Dodaj funkcje") mają z tym coś wspólnego. Jeśli zainstalujesz wtyczkę taką jak Camera, PhoneGap automatycznie doda odpowiednie uprawnienia do AndroidManifest. Tak więc odinstalowałem wszystkie wtyczki Phonegap, których nie potrzebowałem, a te uprawnienia zniknęły.

tej pory tak dobrze.

Kłopot w tym, moja Android Manifest (i plik o nazwie „android.json” w katalogu/plugins projektu) nadal zawierają szereg niepożądanych cech:

<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" /> 

Ponieważ moja aplikacja jest o budżecie, o Uprawnienie "Nagrywaj wideo" sugerowałoby każdemu rozsądnemu użytkownikowi, że jest to zła, podstępna aplikacja próbująca zniszczyć ich prywatność.

Jak pozbyć się tych żądań funkcji? Próbowałem już ...

  1. Dodanie <preference name="permissions" value="none" /> do pliku config.xml.
  2. Odinstalowywanie wszystkich powiązanych wtyczek Phonegap. Odinstalowałem nawet wtyczkę AudioHandler, która prawdopodobnie została fabrycznie zainstalowana podczas tworzenia projektu.

Oczywiście mogę usunąć te rzeczy ręcznie z AndroidManifest.xml przed opublikowaniem ostatecznej wersji. Ale chciałbym bardziej strukturalnego rozwiązania, ponieważ używam "cordova run android" do testowania na urządzeniu, a to nadpisuje wszystkie zmiany w AndroidManifest.xml i android.json.

+0

dziwniejsze, zezwolenie RECORD_VIDEO nie pojawi się w ustawieniach aplikacji w urządzeniu, ale ACCESS_COARSE_LOCATION i ACCESS_FINE_LOCATION pokazują się tam. – Wytze

+0

usuwasz je z pliku manifestu, to właściwy sposób.eclipse ma dobry interfejs, lub intelli – kangoroo

+0

może oczyścić twój projekt po odinstalowaniu wtyczek też – kangoroo

Odpowiedz

0

Czy na pewno usunąłeś wszystkie wtyczki? (use phonegap plugin list), aby zobaczyć, jakie istnieją wtyczki.

Nie jestem pewien, czy istnieje jakaś różnica, ale używam

phonegap run android 

w zastępstwie

cordova run android 

według docs polecenie uruchomienia zrobienia zarówno czyste i budować tak ... czyszczenie powinno być zrobione .. (w rzeczywistości używam polecenia -V, aby uzyskać dodatkowe informacje debugowania)

Miałem też wiele problemów, a propos, zobacz: Upgrade to phonegap 3.3.0

I wychodząc z pustym folderze platform jest jednym z moich prób .... niż powinien mieć pewność, że całkowicie odbudować swój plik manifestu ....

Edit 29-1-2014

Nawiasem mówiąc, najlepsze wyjaśnienie tego zagadnienia CLI i PhoneGap 3.x można znaleźć tutaj: http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/

Powiązane problemy