J'écris des exemples d'applications.
Après avoir débogué ces applications, je ne vois pas de bouton de désinstallation dans la gestion des applications de mon appareil.
Lorsque je désinstalle mon compte adb, il est toujours indiqué Failure without any reason.
Dans DDMS, j’ai vu que mon apk était stocké dans /data/app/com.k2g.leaveDemo-1.apk
.
Je ne suis pas sûr de ce qui me manque.
Je dois toujours réinitialiser mon appareil pour me débarrasser de ces applications :(
Dois-je signer quelque chose?
Dois-je faire quelque chose en mode débogage?
Ou cela dépend-il de la version?
J'utilise Samsung S2.
Oui, la gestion des appareils mobiles apporterait ses propres problèmes, mais je parie que "l'échec" est un problème de dos2unix. Sur mes machines Linux, adb ajoute une nouvelle ligne DOS qui provoque "Echec" car la désinstallation considère que le caractère CR fait partie du nom du paquet. Supprimez également '-1.apk' de la fin du nom du fichier package-1.apk.
adb root
adb Shell
pm list packages
pm uninstall com.Android.chrome
Dans mon cas, j'ai un téléphone qui est en permanence en "mode sans échec", donc seules les applications de/system/app/ont une chance de fonctionner. Je les installe donc pour que les fichiers .apk soient copiés, puis désinstalle en bloc et copie dans/system/app /, essuie le/cache et redémarre. Maintenant, j'ai plus d'applications en cours d'exécution même si dans mdoe sûr.
# adb root
# pm list packages -3 > /root/bulkuninstall.txt
# vi /root/bulkuninstall.txt and check ^M characters at end of each line.
If ^M, then must run dos2unix /root/bulkuninstall.txt.
Remove '-1.apk' using vi search and replace:
:%s/-1\.apk//g
Or sed...
# cp /data/app/* /storage/sdcard1/APKs/
# for f in `cat /root/bulkuninstall.txt`; do echo $f; pm uninstall $f; done;
#
# echo Now remount system and copy the APK files to /system/app/
# mount | grep system
# mount -o remount,rw /dev/block/(use block device from previous step) /system
# cp /storage/sdcard1/APKs/* /system/app/
# reboot
effacer le cache allumer.
Ce n'est pas une réponse exacte, mais si vous souhaitez désinstaller l'application parce que vous avez un fichier .apk à installer, vous pouvez essayer ceci:
adb install -r yourapp.apk
L'option -r
indique à adb de réinstaller l'application.
S'il s'agit d'une application interne Android, vous devrez peut-être:
C’est à vos risques et périls; - |, essayez d’abord dans l’émulateur ...
Je suppose que vous activez developer mode
sur votre appareil Android et que vous êtes connecté à votre appareil et que vous disposez d'un accès Shell (adb Shell
).
Une fois cela fait, vous pouvez désinstaller l'application avec cette commande pm uninstall --user 0 <package.name>
. 0 est l'ID racine -cette façon de faire, vous n'avez pas besoin de trop root pour votre périphérique.
Voici un exemple de ce que j'ai fait sur mon appareil huawei p110 lite.
# gain Shell access
$ adb Shell
# check who you are
$ whoami
Shell
# obtain user id
$ id
uid=2000(Shell) gid=2000(Shell)
# list packages
$ pm list packages | grep google
package:com.google.Android.youtube
package:com.google.Android.ext.services
package:com.google.Android.googlequicksearchbox
package:com.google.Android.onetimeinitializer
package:com.google.Android.ext.shared
package:com.google.Android.apps.docs.editors.sheets
package:com.google.Android.configupdater
package:com.google.Android.marvin.talkback
package:com.google.Android.apps.tachyon
package:com.google.Android.instantapps.supervisor
package:com.google.Android.setupwizard
package:com.google.Android.music
package:com.google.Android.apps.docs
package:com.google.Android.apps.maps
package:com.google.Android.webview
package:com.google.Android.syncadapters.contacts
package:com.google.Android.packageinstaller
package:com.google.Android.gm
package:com.google.Android.gms
package:com.google.Android.gsf
package:com.google.Android.tts
package:com.google.Android.partnersetup
package:com.google.Android.videos
package:com.google.Android.feedback
package:com.google.Android.printservice.recommendation
package:com.google.Android.apps.photos
package:com.google.Android.syncadapters.calendar
package:com.google.Android.gsf.login
package:com.google.Android.backuptransport
package:com.google.Android.inputmethod.latin
# uninstall gmail app
pm uninstall --user 0 com.google.Android.gms
On dirait que vous avez une application contenant un administrateur de périphérique caché comme celui-ci: http://www.symantec.com/security_response/writeup.jsp?docid=2013-060411-4146-99
vous ne pouvez désinstaller une telle application que lorsque vous désactivez d'abord l'administrateur du périphérique. Vous pouvez utiliser https://play.google.com/store/apps/details?id=com.trendmicro.mtrt.hiddenDAcleaner pour le désactiver ou le faire vous-même en envoyant l'intention à l'application invoquée. le récepteur qui désactive l'administrateur du périphérique.
Je trouve que adb Shell pm uninstall <package>
fonctionne de manière constante, alors que adb uninstall <package>
ne fonctionne pas.
okey j'étais dans la même situation, j'ai essayé tout ça sans résultat .. et la dernière réponse était proche ..
pour obtenir le bon nom de votre paquet, procédez comme suit:
adb Shell pm list packages | grep "name of your app here"
vous devriez voir le bon nom de votre application .. alors maintenant celui-ci fonctionne:
adb uninstall com.your-real-app-name
enfin la commande run fonctionne à nouveau:
ionic run Android
Essayez de désactiver "Instant Run" à partir de la fenêtre de configuration
Ouvrez votre manifeste d'application et vérifiez d'abord le package de l'application.
Après cela, assurez-vous que votre appareil est configuré en mode débogueur.
Vérifiez si ADB peut interagir avec votre appareil:
périphériques adb
Si votre appareil est répertorié, exécutez:
désinstaller adb PACKAGE_WRITTEN_IN_MANIFEST
Peut-être essayez-vous de désinstaller une application qui est un administrateur de téléphone.
Pour pouvoir le désinstaller, accédez à Paramètres> Sécurité> Administrateurs téléphoniques . Si l'application est répertoriée, décochez-la et confirmez l'opération.
Ensuite, vous devriez pouvoir le désinstaller à l'aide de la zone des paramètres de l'application ou de l'adb.
Vous devriez avoir à supprimer manuellement les applications. allez dans Configuration-> Gestion des applications -> Exécuter l'application, appuyez dessus et vous pouvez supprimer, arrêter les applications à partir de là.
Si vous rencontrez des problèmes lors de la désinstallation via adb, je peux vous recommander l'outil suivant:
https://github.com/patrickfav/uber-adb-tools
vous pouvez utiliser des caractères génériques et prendre en charge plusieurs périphériques. La gestion des erreurs est également meilleure que celle de Vanilla ADB (mais l’utilise en arrière-plan, bien sûr). Travaillera sur votre plate-forme.
Clause de non-responsabilité: je suis le développeur
Cela peut être quelque chose d'aussi simple que de taper le nom du paquet dans le mauvais cas ...
J'ai eu le même problème - il s'est avéré que je saisissais le nom du paquet en minuscules lorsque le nom du paquet en question contenait des caractères majuscules.
adb uninstall -k <packageName - eg. com.test.app>
(Si vous désinstallez explicitement, vous ne voulez probablement pas le -k qui conserve les données de l'application et les répertoires de cache autour.)
Vous avez le nom de l'apk et pas le nom du package: Vous devez d'abord connaître le nom du package. Fot cette cassette:
adb shel pm list packages
Une fois que vous avez le nom du paquet (soyez prudent, le nom du paquet est comme com.intel .... et pas package: com.intel ...), bande:
adb Shell pm désinstallez -k "nom_package"
et bingo!
J'ai eu une instance d'un émulateur en cours d'exécution et un périphérique connecté.
Lorsque j'ai exécuté la commande «adb -d uninstall PACKAGE_NAME», le message d'erreur «DELETE_FAILED_INTERNAL_ERROR» a été détecté, mais lorsque j'ai tué l'instance Emulator, le processus de désinstallation a abouti.
Vous pouvez suivre les étapes ci-dessous pour désinstaller l'application du périphérique à l'aide de la commande Invite.
si le résultat est positif, votre application est désinstallée avec succès '
Si vous utilisez un appareil Xiaomi, vous devez vous connecter au compte MI.
Après une inscription réussie, vous pouvez installer et désinstaller via ADB.
J'ai eu un échec lors de l'utilisation d'adb Shell, désinstallez com.package.app/
supprimé/(donc adb Shell désinstaller com.package.app) et cela fonctionne
Dans mon cas, je rencontre souvent ce problème lorsque je complète une application en mode débogage, puis que j'essaie d'installer l'application signée Google.
C’est parce que les deux applications ont le même nom de package, mais des signatures différentes… .. Depuis que je suis passé à Android, je reçois parfois cette erreur si je désinstalle l’application via les paramètres\Applications… l'application est installée dans un autre profil d'utilisateur et désinstallez-la dans tous les comptes d'utilisateurs.
Assurez-vous de saisir le nom complet du package avec le nom de l'application:
com.domain.app
Cela a fonctionné pour moi:
C'est le répertoire où sont stockés tous les fichiers APK:
cd /system/app
Listez les:
ls
Choisissez-en un à supprimer.
pm install -r <app_to_remove>.apk
Exemple:
$ pm install -r Google-Play-services.apk
pkg: Google-Play-services.apk
Success
De plus, j'ai remarqué que vous pourriez avoir à exécuter (sur un périphérique enraciné):
$ su
# mount -o remount +rw /