Android adb pm désactiver le composant

Je suis en train d'essayer de comprendre l'utilisation de la commande suivante:

adb shell pm disable <PACKAGE_OR_COMPONENT>

Par exemple: j'ai une application de test avec nom du package com.exemple.com.testapp "et il a une activité appelée "TestActivity'.

J'ai couru à la suite de mon terminal :

./adb shell pm disable com.example.com.testapp/TestActivity

À partir du nom de la commande, j'ai pensé qu'il serait de désactiver l'activité de lancement, mais je peux le lancer amende par la bad comme suit:

./adb shell am start -n com.example.com.testapp/.TestActivity

Alors que fait cette commande désactiver alors ?

Vous devez être un utilisateur si vous souhaitez désactiver les applications. Êtes-vous un super-utilisateur? Est votre téléphone/tablette enracinée?
Non, mon appareil n'est pas enracinée.
Pourquoi ne pas l'Android documentation de mentionner l'exigence à propos de l'enracinement ?
C'est ok pour vous demander si vous ne savez pas quelque chose. Essayez de trouver enracinée appareil, puis essayez pm désactiver. Si vous avez absolument besoin de désactiver quelque chose, allez dans paramètres->applications, trouver de l'application souhaitée et de le désactiver. Sur mon HTC c'est vraiment simple.
La Android la documentation de ne rien dire à propos de "l'enracinement", parce que ce n'est pas une méthode envisagée dans la conception d'Android, et c'est très, très indirectement un moyen de réaliser quelque chose que l'Android Api normalement refuser.

OriginalL'auteur Jake | 2014-03-31