Quiero usar los metadatos en el manifiesto de Android para personalizar el comportamiento de un servicio.¿Hay alguna forma de mantener los metadatos en el manifiesto de Android como privados para el paquete?
<service
android:name=".SampleService"
android:exported="false">
<meta-data
android:name="sampleName"
android:resource="@string/sampleValue" />
</service>
Mi servicio es parte de una biblioteca, y es posible que algunos pueden poner los datos sensibles en estos atributos cuando usan mi servicio. ¿Estos atributos de metadatos son visibles para otros paquetes instalados en el teléfono a través de PackageManager incluso si el servicio no se exporta?
, ya que podría excluir la información de las ofertas públicas del Administrador de paquetes para otras aplicaciones, pero es bastante fácil de localizar y abrir el apk, extraer el manifiesto binario, y demangle de nuevo a texto sin formato - la situación los recursos deben ser similares. Uno quizás no debería confiar en que siempre será capaz de hacer eso en el futuro, pero definitivamente uno debe ** no ** confiar en que otra persona * no * pueda hacerlo. –
¿No es cierto para todos los archivos dex, activos y recursos? – Alan
Sí, pero los valores que se ensamblan en código requerirían un esfuerzo un poco más específico que los valores que se almacenan de forma estándar. –