20 votos

¿Cómo reinstalar una aplicación de sistema desinstalada a través de ADB?

Mi teléfono es un Samsung Galaxy S7 Edge sin root que ejecuta Oreo 8.0. Ayer, al eliminar software basura de mi teléfono, desinstalé accidentalmente una aplicación del sistema utilizando el comando adb:

pm uninstall -k --user 0 

Sospecho que el culpable es com.sec.factory.camera, ya que desde ese desafortunado evento, la aplicación de la cámara se bloquea cada vez que intento abrirlo.

Intenté reinstalarlo usando alguno de estos dos comandos

pm install com.sec.factory.camera
pm install --user 0 com.sec.factory.camera

pero devolvieron un mensaje de error "no se puede abrir un archivo que no es archivo".

También intenté descargar el APK en mi teléfono e instalarlo desde Android, pero al final del proceso de instalación, recibí un mensaje de "aplicación no instalada".

¿Cómo reinstalar una aplicación del sistema desinstalada a través de ADB?

1 votos

La aplicación todavía debe estar en algún lugar dentro de /system, así que intenta encontrar su ubicación absoluta e instalarla desde allí.

28voto

rascalking Puntos 1422

Técnicamente, el comando adb shell pm uninstall -k --user 0 no desinstala una aplicación del dispositivo. En cambio, simplemente la elimina de un usuario.

Hay un par de formas de devolver la aplicación eliminada al usuario: una forma es a través de un shell ADB con el comando:

adb shell cmd package install-existing 

O una forma extrema sería a través de un restablecimiento de fábrica del dispositivo.

4 votos

Me has salvado de restaurar mi teléfono de fábrica. Desinstalé la aplicación de pantalla de inicio de OneUI después de instalar Nova launcher para la pantalla de inicio. Más tarde me di cuenta de que ya no podría abrir la lista de aplicaciones recientes.

0 votos

¡Muchas gracias por esto! En mi caso, también tuve que reinstalar com.android.providers.calendar con el mismo proceso.

1 votos

Obtengo comando desconocido: install-existing

3voto

Adaddinsane Puntos 8

Desinstalé el paquete com.google.android.partnersetup cuando iba a desinstalar otra aplicación. No pude recuperarlo con el método de Bo Lawson. En su lugar, encontré esta manera:

pm dump com.google.android.partnersetup | grep Path    

Esto nos da algunos caminos. Uno de ellos es el que voy a usar:
"codePath=/system/priv-app/GooglePartnerSetup"

Finalmente, instalo la aplicación que está en esa dirección. La aplicación tiene el mismo nombre que la carpeta de la aplicación, con ".apk" al final:

pm install -r --user 0 /system/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk

Espero que esto ayude, pero no sé exactamente qué hace esto.

Mi fuente: comentario de Mac23.

3voto

intex Puntos 1398

Para esos casos en los que la solución install-existing no está disponible, el método de dandan657 funciona. Pero he encontrado una forma más sencilla de buscar la ubicación del APK existente. En la shell de ADB escribe:

pm list packages -f -u | grep 

Obtendrás el resultado en este formato:

paquete:=

Ejemplo:

paquete:/system/app/Photos/Photos.apk=com.google.android.apps.photos

Estos son los parámetros opcionales útiles que acepta el comando pm list packages:

-f: Ver sus archivos asociados.
-d: Filtrar para mostrar solo paquetes desactivados.
-e: Filtrar para mostrar solo paquetes activados.
-s: Filtrar para mostrar solo paquetes del sistema.
-3: Filtrar para mostrar solo paquetes de terceros.
-i: Ver el instalador de los paquetes.
-u: Incluir también paquetes no instalados.
--user : El espacio de usuario a consultar.

Consejo: Usando lo anterior, podría ser buena idea tener varias listas de paquetes filtradas guardadas para futuras referencias.

Referencia: https://android-doc.github.io/tools/help/shell.html#pm

2voto

Rbacarin Puntos 542

Mi camino

  1. Instalar Solid Explorer
  2. Abrir Configuración
  3. Activar Almacenamiento root
  4. Volver a principal
  5. Abrir menú hamburguesa
  6. Seleccionar root
  7. Ir a sistema
  8. Ir a aplicación
  9. Buscar tu aplicación
  10. Instalarla

1voto

Maritime studio Puntos 21

Tuve el mismo problema con mi teléfono Android 6. En Android 6, los comandos adb shell cmd ... no están disponibles.

Lo solucioné de la siguiente manera (necesita acceso root o recuperación personalizada con acceso completo al sistema de archivos):

  1. Localiza el archivo APK del paquete eliminado en la carpeta /system/priv-app
  2. Mueve el archivo APK a una ubicación diferente (por ejemplo, /data/app)
  3. Reinicia el teléfono
  4. Mueve el archivo APK de nuevo a su ubicación original
  5. Reinicia el teléfono

Espero que esto pueda ayudar a otros que tampoco tengan Android 7 o más reciente.

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