web-dev-qa-db-fra.com

Comment désinstaller une application Android depuis la ligne de commande sur l'appareil

Je peux désinstaller une application sur l'appareil de mon ordinateur à l'aide de adb uninstall <package_name>, mais j'aimerais faire de même avec un script sur le périphérique réel.

J'ai également essayé d'exécuter un Android.intent.action.DELETE intention d'utiliser am mais il invite l'utilisateur à confirmer.

Étant donné que l'appareil est enraciné, est-il possible d'exécuter une commande sur l'appareil pour désinstaller une application sans nécessiter d'action/confirmation de l'utilisateur?

26
George Profenza

Essayer d'utiliser la commande pm :

pm uninstall <package_name>

ou

pm uninstall -k <package_name>

Le -k flag conserve les répertoires de données et de cache après la suppression du package.

Je n'ai pas testé cela moi-même, mais je ne pense pas que cela devrait afficher un message d'avertissement.

40
Frxstrem

adb Shell pm uninstall *your.package.name*

A fait l'affaire pour moi.

11
Distwo

Pour désinstaller de force les applications utilisateur système:

Utilisation:

adb Shell pm uninstall --user 0 <package_name>
4
Raj Yadav

J'ai échoué lors de la désinstallation de certains lanceurs système (par exemple NovaLauncher) Dans ce cas, je recommande d'utiliser "désactiver" à la place de "désinstaller":

pm disable <package_name>

En conséquence, vous masquez ce lanceur de système (application sys) de la liste des lanceurs lorsque vous avez quelques lanceurs

2
Webest

Certaines applications ne peuvent pas être désinstallées, donc la commande ci-dessous donne l'erreur:

adb Shell pm uninstall package_name 
 Échec [DELETE_FAILED_INTERNAL_ERROR] 

Essayez d'exécuter la commande disable à la place,

adb Shell pm disable package_name 
 Package package_name nouvel état: désactivé 
1
rahul2907

Et si vous souhaitez réinstaller le package de retour supprimé pour un utilisateur (c'est-à-dire pm uninstall --user 0), sans racine:

pm install --user 0 $(pm dump <package name> | awk '/path/{ print $2 }')

Cela localisera .apk du package désinstallé: pm dump <package name> et recherchez une ligne commençant par path: pour obtenir le chemin vers le .apk ( notez que pm path <package> ne fonctionnera pas pour une application désinstallée ) et installez-la à l'aide de pm install --user 0 ( notez que pm install sans pour autant --user l'argument ne fonctionnera pas ).

Cela fonctionne pour n'importe quelle application système, c'est une bonne alternative à pm disable-user <package> qui vous permet toujours de réactiver facilement l'application via les paramètres. Par exemple, vous pouvez désinstaller Play Store (pm uninstall --user 0 com.Android.vending) et n'ont aucun moyen d'activer/installer une application sur un périphérique non root par défaut sans accès à adb ou pm.

0
Artur Rashitov

Commande simple pour supprimer n'importe quelle application de l'appareil, essayez ceci:

 pm désinstallation --utilisateur 0 

Cette commande supprimera de force cette application de l'appareil.

0
abhi618