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?
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.
adb Shell pm uninstall *your.package.name*
A fait l'affaire pour moi.
Pour désinstaller de force les applications utilisateur système:
Utilisation:
adb Shell pm uninstall --user 0 <package_name>
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
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é
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
.
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.