1 votos

Cómo migrar datos de la aplicación al cambiar la fuente de la aplicación

Decir que tengo "FunnyApp" instalado desde play store, ahora se convierte en F-Droid – y quiero reemplazar la Playstore versión del F-Droid uno (mismo problema vice-versa). El problema es que no puedo actualizar la aplicación de la nueva fuente que la firma no coincide con F-Droid signos con su propia llave). FunnyApp no ofrece ningún tipo de "exportar" la funcionalidad, pero no quiero perder los datos.

¿Cuáles serían los posibles enfoques para realizar un interruptor?

Trampas:

  • Simplemente con actualizar/instalar desde "la otra fuente" no funciona (no coincidencia de firma)
  • la realización de un solo de datos adb backup no ayuda, como la restauración va a fallar por el mismo motivo

Tengo algunas ideas vagas sobre la root de soluciones basadas en que no he probado aún (por ejemplo, Copia de seguridad de Titanio podría ser capaz de restaurar los datos a pesar de los cambios de la firma, y también hay algún módulo de XPosed (InstallerOpts?) ofrenda a la "supresión de la firma de advertencia"). Pero antes de "echar a perder" yo pensaba preguntar por aquí si alguien puede que ya los han probado con éxito una solución.

No soluciones de la root preferido (para que más personas puedan beneficiarse de), basados en la root de soluciones aceptables, XPosed como requisito de bien.


Algunas razones por las que uno podría querer "cambiar las fuentes" (también conocido como "cross-update"): deshacerse de la propiedad de las dependencias, la aplicación ya no se actualiza en la fuente original ...

2voto

Guillermo Gomez Puntos 423

Desarraigado

Lo sentimos, pero AFAIK no es posible :( nunca he visto ninguna aplicación/herramienta/utilidad con éxito la modificación de otras aplicaciones de datos, ni siquiera de la lectura!
Alternativamente, usted puede hacer eso en una recuperación personalizada, sino que utiliza una recuperación personalizada sin rooting? Para leer a continuación.

Simple de la Raíz (de forma Manual)

No lo tome demasiado duro. Sólo el movimiento de sus datos originales de distancia, desinstalar la aplicación original e instalar el nuevo, a continuación, mueva el respaldo de datos y chown. Comandos de shell de ejemplo se muestran a continuación.

# mv /data/data/com.example.foo /data/media
 * UNINSTALL_ORIGINAL_APP
 * INSTALL_NEW_APP
# ls -ld /data/data/com.example.foo
 * take note of the user (e.g. u0_a123)
# mv /data/media/com.example.foo /data/data
# chown -R 10123.10123 /data/data/com.example.foo

Las explicaciones de cada paso:

  1. Mover original de datos de la aplicación a un lugar alternativo. Porque Android eliminar automáticamente irrelevante archivos en ciertos directorios, necesitamos un lugar seguro como la Alt. AFAIK archivos desconocidos se omiten en /data/media , de modo que es elegido.
  2. Reemplazar la aplicación. Ninguna explicación.
  3. Obtener el UID de la recién instalada la aplicación. Mal UID hará el Instalador de Paquetes de borrar datos de la aplicación.
  4. Mover datos hacia y cambiar el UID.

Una pequeña nota: El grupo builtin chown comando no aceptar la opción -R (recursivo) por defecto en Android L o inferior. Usted necesita BusyBox en ese caso. En Android M y hasta ahora todo funciona bien.

Raíz De Utilidades

  • Copia De Seguridad De Titanio

    Con Tibú usted puede fácilmente copias de seguridad de los datos existentes, a continuación, extraer de forma segura la app antigua e instalar la nueva aplicación. Entonces, mientras ambos paquetes tienen el mismo nombre de paquete, usted puede restaurar los datos de la aplicación con Tibú, intacto!

    Sin embargo, esta solución es esencialmente una base de datos-copia de seguridad, por lo que no será aquí. Si usted desea aprender más acerca de la copia de seguridad y restauración de datos, consulte nuestra etiqueta de wiki para la , en virtud de la Aplicación de copias de seguridad basadas en la sección.

Los Módulos de Xposed (más Fácil, Recomendado por iBug)

XInstaller y su sucesor, InstallerOpt, puede conectar el Instalador de Paquetes para permitir que los paquetes con el desajuste de firmas para ser instalado (sin pasar por las sig de verificación). A continuación, todos los datos se conservan y se puede cambiar fácilmente a diferentes versiones. Este es el método que estoy utilizando actualmente y ha estado trabajando muy bien. Triste que Xposed no está oficialmente disponible para Android N (hasta el momento), por lo que esta solución es sólo para Android M y abajo.

En teoría, no deben hacer nada malo, porque todo lo que hacen es conectar la comprobación de la firma de la función y cambiar su valor de retorno a una truthy valor, sin pasar por la verificación. Si el paquete de reemplazo tienen otros defectos que el desajuste de la firma, la instalación va a fallar, por lo que no defectuosa de los paquetes se pueden instalar incluso si se omite la comprobación de la firma.

Aviso Importante
No es recomendable dejar que la opción (skip sig de verificación) habilitada todo el tiempo. Dejarlo habilitado va a crear una gran falla de seguridad como hackeado aplicaciones (casi siempre el uso de una firma diferente) puede también ser instalado. Yo personalmente habilitarlo sólo cuando sea necesario y deshabilitar tan pronto como terminé mi paquete de reemplazo.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X