schemas res registered not application android userid sharedpreferences

android - res - sharedUserId: seguro para cambiar cuando la aplicación ya está en el mercado?



application android label (2)

Para la próxima versión de nuestra aplicación, quiero cambiar el identificador de usuario compartido, ya que ahora usamos una aplicación de panel de control interno que debe escribir en los archivos de configuración de la otra aplicación.

Pero como la aplicación ya está instalada en muchos teléfonos, ¿será esto un problema? Hice una pequeña prueba en el emulador y veo excepciones en los registros del dispositivo que no se pueden escribir las versiones * .bak de los archivos de preferencias. No estoy seguro de cuán crítico es eso. Curiosamente, la configuración de seguridad todavía parece funcionar, a pesar de que la carpeta shared_prefs se creó con otro ID de usuario de Linux.

¿Alguien intentó esto antes?



Y para responder a mi propia pregunta otra vez :

No, no es seguro. Dado que la actualización de una aplicación a través de Android Market no eliminará la base de datos y los archivos de preferencias, la nueva versión no podrá leer ni escribir estos archivos (ya que se crearon con un ID de usuario de Linux diferente), y la aplicación se bloqueará después de la actualización . Tendría que pedir a sus usuarios que desinstalen por completo y reinstalen la aplicación, lo que ciertamente no se recomienda.

Como regla general, concluyo de esto: ¡Cada vez que comiences a desarrollar una nueva aplicación, asegúrate de establecer un atributo manual de android:process y android:sharedUserId ! No duele en caso de que no lo necesite, pero le da control total sobre qué aplicaciones tienen acceso a los recursos privados de esta aplicación.