2 votos

¿Hay alguna forma de cambiar la fuente de la aplicación en Android?

Migré de Oneplus 3 (teléfono chino Android) a Galaxy Note 8 a través de Cloneit, ya que la herramienta de migración de existencias de Samsung no era compatible con Oneplus 3.

Sin embargo, las aplicaciones migradas (o preferiblemente, clonadas) en mi nuevo teléfono se reconocen como "aplicación instalada desde una fuente desconocida" en lugar de "instalada desde Google Play".

Parece que Cloneit, la herramienta de migración trajo todos los archivos apk a través de la conexión y eso está haciendo que todas las aplicaciones sean reconocidas como de origen desconocido.

* Así que quiero cambiar la propiedad de la fuente de "desconocido" a "instalado" de Google Play. *

Mi especulación es bastante pesimista ya que suena como si estuviera relacionada con algunos problemas de seguridad pero espero que algún Superusuario tenga una respuesta para esto.

Gracias.

0 votos

Es posible si tienes Root.

0 votos

@iBug Larga vida a TiBu.

0 votos

@DeathMaskSalesman No hay necesidad de TiBu. Sólo es cuestión de un comando de shell.

3voto

Guillermo Gomez Puntos 423

La solución es tan simple como unos pocos comandos del infierno. Requiere Root y BusyBox.

Abrir una terminal o un adb shell y el tipo

su
sed -i 's/installer="[A-Za-z0-9._-]*"/installer="com.android.vending"/g' /data/system/packages.xml

Si la línea de comandos le dice sed: not found instalar BusyBox correctamente y preparar busybox antes de sed .


Tengan en cuenta que esta es una acción altamente peligrosa. Lo es. fuertemente recomendó que hicieras una copia de seguridad del archivo antes de intentar modificarlo. Además, en algunos casos el permiso del archivo puede ser confuso, arréglalo por

chmod 0660 /data/system/packages.list
chown 1000.1000 /data/system/packages.list

0 votos

Espera, ¿con esto puedes engañar al sistema operativo para que trate aplicaciones arbitrarias como si vinieran de Play? ¿Y qué pasa con la propia Play, que lista y actualiza esas aplicaciones?

0 votos

Upvoted porque disfruto de enredar con packages.xml .

0 votos

@AndyYan Play actualiza cualquier app a la que tengas derecho -incluso las marcadas explícitamente como "no instaladas por Play"- siempre que la poseas con tu cuenta de Google.

1voto

Firelord Puntos 161

Este primer método es definitivamente agotador pero evita la necesidad de acceso a root . Necesitas encontrar tu aplicación en Play Store y tocar el botón de actualización. Una vez que actualices a través de Play Store, el sistema tratará esa aplicación como si hubiera sido instalada originalmente desde Play Store.

Definitivamente, si tienes una larga lista de aplicaciones, te cansarás. Además, si no hay ninguna actualización disponible, puede que tengas que recurrir a la desinstalación y reinstalación de la aplicación correspondiente de la Play Store. Pero eso puede causar la pérdida de datos de la aplicación, así que sopesa tus opciones cuidadosamente.

Si tienes acceso a root y quiere evitar meterse en líos con paquetes.xml pruebe este comando:

adb shell su user_ID -c 'pm set-installer PACKAGE com.android.vending'

donde:

  • ID_de_usuario : ID de usuario de la aplicación Play Store.
  • PAQUETE : nombre del paquete de la aplicación cuyo instalador de fuente se va a cambiar

Puedes recuperar el user_ID de Play Store a través de este comando:

adb shell su -c 'grep "com.android.vending" /data/system/packages.list'

La cadena numérica entre com.Android.vending y 0 es el user_ID. Por ejemplo.

com.android.vending **10024** 0 /data/data/com.android.vending default 3003

En cuanto a encontrar el nombre del paquete, puedes usar Detective de aplicaciones para encontrar todas las aplicaciones de carga lateral. Alternativamente, puedes ordenar a través de la salida de este comando:

adb shell pm list packages -3 -i

Ignora todas las líneas que terminan con installer=com.Android.vending . El resto mostraría los paquetes no instalados desde la Play Store.

Puedes configurar un script para automatizar el segundo método.

0 votos

He probado esto en el Nexus 6 con Android 6.0.1.

0 votos

Gracias Firelord. Estoy feliz de no haber tenido que Root.

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