2013-09-04 14 views
7

Ho un'app PhoneGap che attualmente sto sviluppando e testando per Android. Il problema è che quando pubblico sul dispositivo, il Manifest Android è pieno di richieste di autorizzazione che non ho richiesto.Autorizzazioni Android per Android, config.xml e plug-in

Ho già capito che i Plugin di PhoneGap (vedere this docs page in "Aggiungi funzionalità") hanno qualcosa a che fare con esso. Se installi un plug-in come Camera, PhoneGap aggiungerà automaticamente l'autorizzazione correlata ad AndroidManifest. Così ho disinstallato tutti i Plugin Phonegap che non avevo bisogno e quelle autorizzazioni sono andate via.

Fin qui tutto bene.

Il problema è che il mio Android Manifest (e un file chiamato "android.json" nella directory/plugins del progetto) contengono ancora un certo numero di caratteristiche indesiderate:

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

Dal momento che la mia app è di circa budgeting, un L'autorizzazione "Registra video" suggerirebbe a qualsiasi utente sano di mente che si tratta di un'app malvagia che cerca di distruggere la loro privacy.

Come si eliminano queste richieste di funzionalità? Ho già provato ...

  1. Aggiunta di <preference name="permissions" value="none" /> a config.xml.
  2. Disinstallazione di tutti i plugin di PhoneGap correlati. Ho anche disinstallato un plugin AudioHandler che sembra essere preinstallato quando ho creato il progetto.

Ovviamente posso rimuovere il materiale manualmente da AndroidManifest.xml prima di pubblicare la mia versione finale. Ma mi piacerebbe una soluzione più strutturale, dal momento che uso "cordova run android" per testare sul dispositivo, e questo sovrascrive tutte le modifiche ad AndroidManifest.xml e android.json.

+0

Peggio ancora, il permesso RECORD_VIDEO non compare nelle impostazioni dell'app sul dispositivo, ma ACCESS_COARSE_LOCATION e ACCESS_FINE_LOCATION pera up Là. – Wytze

+0

li rimuovi dal file manifest, questo è il modo corretto per farlo.eclipse ha una buona interfaccia per questo, o intelli – kangoroo

+0

forse pulisci il tuo progetto dopo aver disinstallato anche i plugin – kangoroo

risposta

0

Sei sicuro di aver rimosso tutti i plug-in? (use phonegap plugin list) per vedere quali plugin ci sono.

Non sono sicuro se c'è qualche differenza, ma io uso

phonegap run android 

al posto di

cordova run android 

Secondo la documentazione del comando di marcia fare sia pulito e costruire ... così la pulizia dovrebbe essere fatta .. (in realtà uso il comando -V per ottenere ulteriori informazioni di debug)

Ho anche avuto un sacco di problemi a proposito, vedi: Upgrade to phonegap 3.3.0

E inizia con una cartella vuota piattaforme è uno dei miei tentativi .... di quanto si dovrebbe essere sicuri che ricostruire completamente il vostro file manifesto ....

Modifica 29-1-2014

Tra l'altro, la migliore spiegazione di questo CLI e PhoneGap problemi 3.x può essere trovato qui: http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/

Problemi correlati