Desidero utilizzare i metadati nel manifest di Android per personalizzare il comportamento di un servizio.C'è un modo per mantenere i meta-dati nel manifest Android privato nel pacchetto?
<service
android:name=".SampleService"
android:exported="false">
<meta-data
android:name="sampleName"
android:resource="@string/sampleValue" />
</service>
Il mio servizio è parte di una libreria, ed è possibile alcuni possono inserire i dati sensibili in questi attributi quando usano il mio servizio. Questi attributi dei metadati sono visibili ad altri pacchetti installati sul telefono tramite PackageManager anche se il servizio non viene esportato?
Ciò potrebbe escludere le informazioni dalle offerte pubbliche del gestore di pacchetti per altre applicazioni, ma è abbastanza semplice da individuare e aprire l'apk, estrarre il manifesto binario, e decodifica i di nuovo a testo in chiaro - la situazione con le risorse dovrebbero essere simili Forse non si dovrebbe fare affidamento sul fatto di essere sempre in grado di farlo andando avanti, ma si deve sicuramente ** non ** fare affidamento su qualcun altro * non * in grado di farlo. –
Non è vero per tutti i file dex, le risorse e le risorse? – Alan
Sì, ma i valori assemblati nel codice richiederebbero uno sforzo un po 'più specifico rispetto ai valori memorizzati in modo standard. –