web-dev-qa-db-fra.com

Est-il possible de déconnecter un périphérique USB de la BAD?

J'ai beaucoup de scripts qui utilisent ADB pour déboguer des applications Android via Wi-Fi avec des émulateurs. Le problème apparaît lorsque je charge mon téléphone Android via USB à partir de mon ordinateur: ADB le voit et envoie des commandes à mon téléphone au lieu de l'émulateur. Y a-t-il un moyen de déconnecter la BAD du téléphone qui se recharge via USB? Je sais que je peux envoyer des commandes aux émulateurs uniquement via le commutateur -e, ainsi que de les envoyer à un périphérique spécifique via le commutateur -s. Cependant, ce n'est pas acceptable pour moi, car je dois réécrire beaucoup de scripts pour ajouter plus d'arguments si je veux implémenter cette fonctionnalité de sélection de périphérique. Je n'ai pas besoin de solutions de contournement, je suis simplement curieux de savoir si Google force ADB débogue tout téléphone connecté via USB dont le débogage USB est activé dans les paramètres, ou il est possible de supprimer un téléphone spécifique connecté à USB de la liste des appareils sur ADB côté? Lorsque je lance adb disconnect, le périphérique USB reste connecté.

5
Vitaliy

ADB ne prend pas en charge la déconnexion d'une connexion USB maintenant (version 1.0.39).

"adb disconnect" ne peut déconnecter qu'une TCP connexion établie par "adb connect", il ne peut pas déconnecter une connexion USB.

Vous pouvez "déconnecter" une connexion en utilisant les commandes Push et reconnexion comme solution de contournement:

1.Pousser un fichier au téléphone

adb -s [serial] Push somefile /data/local/tmp

2. reconnectez-vous alors que le Push est toujours en cours

adb -s [serial] reconnect

Répétez les étapes 1 et 2. Après un certain temps, vous constaterez que ce périphérique est en mode hors connexion à partir de la sortie de "périphériques adb".

Aucune commande adb ne peut utiliser ce périphérique hors ligne jusqu'à ce que vous ayez tué le serveur et démarré le serveur.

3
Peter

La connexion USB pour le stockage interne et la connexion adb pour le débogage sont deux choses distinctes.

Pour désactiver adb - vous pouvez utiliser adb disconnect ou simplement désactiver usb debugging sous developer options.

Pour déconnecter la connexion USB pour le stockage interne, certaines ROM ont l'option. par exemple. La CM 13 que j’ai pour le moment permet de connecter une clé USB uniquement pour la charge. Généralement sur d’autres ROM et Stock ROM je n’ai pas encore vu cette option, mais vous pouvez l’essayer. -> Si vous connectez votre appareil via USB alors que votre téléphone est verrouillé, la mémoire de stockage interne ne sera pas disponible à moins que vous ne déverrouilliez l'appareil une fois.

utilisez simplement adb kill-server pour tuer la connexion
adb disconnect fonctionne également

0
RxRead