Comando adb shell para que aparezca el cuadro de diálogo de desinstalación del paquete de Android
Tengo el funcionamiento del adb y el dispositivo se conecta a mi sistema en modo de la depuración,
Quiero desinstalar la aplicación mediante el lanzamiento intencional en el shell de adb, usando am start <INTENT>
- Cómo algunas aplicaciones rastrean su propia desinstalación en android
- ¿Cómo autodestruir la aplicación?
- ¿Cómo eliminar los datos escritos en la tarjeta sd automáticamente en la desinstalación de la aplicación Android?
- ¿Qué sucede con PendingIntents cuando se quita la aplicación?
- El icono del lanzador de aplicaciones no se elimina de la pantalla de inicio al desinstalar la aplicación de Android
No quiero desinstalar usando adb uninstall com.company.apppackage
y no quiero hacerlo incluso con pm uninstall com.company.apppackage
¿Hay alguna manera que puedo usar la acción de la intención de eliminar ( android.intent.action.DELETE
) y el usuario obtiene prompt para desinstalar algún programa.
- Realizar una tarea en desinstalar en android
- Desinstalación de la aplicación Android
- Detectar si mi aplicación está desinstalada
- Evitar que una persona no autorizada desinstale mi aplicación para Android
- Obtener la intención de desinstalar la aplicación en android
- ¿Cómo desinstalar mi propia aplicación de Android sin la intervención del usuario?
- Desinstala la aplicación de Android Wear desde un dispositivo real
- Contraseña de desinstalación
Puedes hacerlo desde adb usando este comando:
adb shell am start -a android.intent.action.DELETE -d package:<your app package>
Utilice este comando en cmd:
Adb shell pm uninstall -k com.packagename
Por ejemplo:
adb shell pm uninstall -k com.fedmich.pagexray
La -k
indica al gestor de paquetes que mantenga los directorios de caché y de datos alrededor, aunque la aplicación se elimine. Si desea una desinstalación limpia, no especifique -k
.
Utilizando ADB, puede utilizar cualquiera de los tres comandos siguientes:
adb shell am start -a android.intent.action.UNINSTALL_PACKAGE -d "package:PACKAGE" adb shell am start -n com.android.packageinstaller/.UninstallerActivity -d "package:PACKAGE" adb shell am start -a android.intent.action.DELETE -d "package:PACKAGE"
Reemplace PACKAGE con el nombre del paquete de la aplicación de usuario instalada. La aplicación no debe ser un administrador de dispositivos para que el comando funcione correctamente. Todos estos comandos requieren la confirmación del usuario para la eliminación de la aplicación.
Los detalles de dicho comando pueden ser conocidos comprobando el uso de adb shell am
usando adb shell am
.
Conseguí la información sobre esos comandos usando Elixir 2 (uso cualquier aplicación equivalente). Lo usé para mostrar las actividades de la aplicación Package Installer (la GUI que ves durante la instalación y eliminación de aplicaciones), así como las intenciones relacionadas. Ahí tienes.
La manera alternativa que utilizé era: Intenté desinstalar la aplicación usando GUI hasta que me demostraron la confirmación final. No confirmé pero ejecute el comando
adb shell dumpsys activity recents # for Android 4.4 and above adb shell dumpsys activity activities # for Android 4.2.1
Entre otras cosas, me mostró detalles útiles de la intención pasada en segundo plano. Ejemplo:
intent={act=android.intent.action.DELETE dat=package:com.bartat.android.elixir#com.bartat.android.elixir.MainActivity flg=0x10800000 cmp=com.android.packageinstaller/.UninstallerActivity}
Aquí, usted puede ver la acción, datos, bandera y componente – suficiente para la meta.
Mientras que las respuestas anteriores funcionan, pero en caso de que tenga varios dispositivos conectados a su computadora, el siguiente comando se puede utilizar para quitar la aplicación de uno de ellos:
adb -s <device-serial> shell pm uninstall <app-package-name>
Si desea averiguar la serie del dispositivo, utilice el siguiente comando:
adb devices -l
Esto le dará una lista de dispositivos conectados. La columna de la izquierda muestra las series del dispositivo.
En mi caso, hago un adb shell pm list packages
para ver primero cuáles son los paquetes / aplicaciones instalados en mi dispositivo o emulador Android, luego al localizar el paquete / aplicación deseado, hago una adb shell pm uninstall -k com.package.name
.