108 votes

Accéder à l'hôte local d'un PC à partir d'un appareil mobile Android connecté par USB

J'ai un appareil Android (Samsung galaxy tab) connecté à mon PC via USB.

Je veux utiliser les WebServices et exécuter une page web qui est située sur mon serveur local xampp de mon PC sur mon appareil Android.

J'y parviens si mon PC et mon appareil Android sont tous deux connectés au même réseau sans fil.

Cependant, est-il possible d'accéder à la page localhost sans connexion sans fil, en utilisant uniquement une connexion USB ?

(PS : Ce même scénario fonctionne lorsque je lance l'application sur un émulateur et que j'utilise l'ip 10.0.2.2 pour accéder au localhost sur mon PC).

61voto

Google a publié une solution pour ce type de problème aquí .

Les étapes :

  • Connectez votre appareil Android et votre machine de développement avec le débogage USB activé.
  • Ouvrez Chrome sur votre machine de développement, ouvrez un nouvel onglet, faites un clic droit dans le nouvel onglet du navigateur, cliquez sur inspecter.
  • Cliquez sur l'icône des trois points en haut à droite. three dots -> Plus d'outils, Appareils à distance.
  • Regardez en bas de l'écran, assurez-vous que le nom de votre appareil apparaît dans la liste avec un point de couleur verte.
  • Regardez ci-dessous la partie relative aux paramètres, vérifiez les points suivants Transfert de port marque
  • Ajouter une règle. Par exemple, si votre serveur web python tourne sur votre machine localhost:5000 et que vous voulez y accéder à partir du port 3333 de votre appareil, vous pouvez taper 3333 dans la partie gauche, et tapez localhost:5000 et cliquez sur ajouter une règle.
  • Voilà, vous pouvez maintenant accéder à votre serveur web depuis votre appareil. Essayez d'ouvrir un nouvel onglet de navigateur, et visitez http://localhost:3333 à partir de votre appareil

39voto

Zivic Sanel Points 266

J'ai finalement résolu ce problème. J'ai utilisé un Samsung Galaxy S avec Froyo. Le "port" ci-dessous est le même que celui que vous utilisez pour l'émulateur (10.0.2.2:port). Ce que j'ai fait :

  1. connectez d'abord votre appareil réel avec le câble USB (assurez-vous que vous pouvez télécharger l'application sur votre appareil)
  2. obtenir l'adresse IP de l'appareil connecté, qui commence par 192.168.x.x:port
  3. ouvrir le "Centre de réseau et de partage"
  4. cliquez sur la "Connexion au réseau local" de l'appareil et choisissez "Détails"
  5. copiez l'"adresse IPv4" dans votre application et remplacez-la comme suit : http://192.168.x.x:port/test.php
  6. téléchargez votre application (à nouveau) sur votre appareil réel
  7. aller dans les propriétés et activer "USB tethering
  8. exécuter votre application sur l'appareil

Il devrait maintenant fonctionner.

19voto

John Points 487

J'ai lu de nombreux forums et essayé des applications de jeux mais je n'ai pas trouvé de solution jusqu'à maintenant.

Je pense que mon scénario est similaire au vôtre, mais je vais le clarifier pour aider les autres. J'ai un site web hébergé localement et des services web à utiliser par mon application Android. J'ai besoin de les faire fonctionner sur la route pour une démonstration avec seulement mon ordinateur portable et sans connexion réseau.

Remarque : L'utilisation de mon iPhone comme hotspot wifi et la connexion de mon PC et de mon appareil Android ont fonctionné, mais la connexion de l'iPhone 4S est lente et s'interrompt régulièrement.

Ma solution est la suivante :

  • Débranchez les câbles réseau du PC et désactivez le wifi.
  • Désactiver le wifi sur un appareil Android
  • Connecter Android au PC via USB
  • Activez l'option "USB Tethering" dans le menu Android. (Sous réseaux->plus...->Tethering et hotspot portable")
  • Obtenez l'adresse IP de votre ordinateur qui a été attribuée par le câble de liaison USB. (ouvrez l'invite de commande et tapez "ipconfig", puis recherchez l'IP que l'adaptateur réseau USB a attribuée).
  • Ouvrez un navigateur sur le PC en utilisant l'adresse IP trouvée au lieu de localhost pour tester. http://192.168.1.1/myWebSite
  • Ouvrez un navigateur sur l'Android et testez son fonctionnement

7voto

Binu Jasim Points 260

J'ai fait cela sur un ordinateur Windows et cela a fonctionné parfaitement !

Activez l'option USB Tethering dans votre téléphone portable. Tapez ipconfig dans l'invite de commande de votre ordinateur et trouvez l'ipv4 pour "ethernet adapter local area connection x" (surtout le premier). Maintenant, allez dans le navigateur de votre mobile, tapez cette ipv4 avec le numéro de port de votre application web. ex:- 192.168.40.142:1342

Ces étapes simples ont suffi pour que cela fonctionne !

5voto

Çağrı Çakır Points 128

Voici un extrait du code de mon application Android :

Cette application est capable de communiquer avec un modèle HTTP get-post entre un servlet fonctionnant sur un serveur et un appareil Android branché en mode USB débuggeable ( parce que l'application était en cours de développement ).

Je peux également faire fonctionner l'application par Wi-Fi lorsque le serveur, Tomcat Apache 7, fonctionnant sur ( lorsque le développement de l'application est terminé ).

enter image description here

Pour obtenir votre adresse IP

  1. Aller dans l'invite de commande
  2. Type ipconfig
  3. Appuyer sur la touche "Entrée".

Dans la liste, Adresse IPv4 est votre IP.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X