Chaque fois que j'essaie de me connecter à un domaine sur mon LG Ally, cela échoue, mais cela fonctionne si j'utilise une adresse IP. J'ai donc essayé d'utiliser nslookup telehack.com
et ça renvoie:
Server: 0.0.0.0
Address 1: 0.0.0.0
nslookup: can't resolve 'telehack.com'
J'ai Android Terminal Emulator et BusyBox installés,
Cela ne fonctionnait pas avec le DNS par défaut, alors maintenant j'ai mes entrées DNS définies sur OpenDNS , et cela ne résoudra toujours pas.
puis-je faire quelque chose pour résoudre ce problème, ou s'agit-il d'une limitation de l'allié?
Réponses:
Il s'agit d'un problème de conception connu lors de l'utilisation de libresolv et glibc liés statiquement.
Vous avez 2 options:
Utilisez la bibliothèque libc Bionic native de Google Android au lieu de la glibc.
Créez une boîte occupée pour rechercher des bibliothèques
/system/lib
(ou faites les liens nécessaires, par exemple/usr/lib -> /system/lib
). Placez ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2 dans votre/system/lib
.la source
Vérifiez que votre environnement d'émulateur de terminal a DNS correctement défini en exécutant
getprop net.dns1
et si nécessaire, définissez-le avecsetprop net.dns1 [yourdns]
. Les commandes peuvent différer selon le périphérique, certaines utilisentnet.eth0.dns1
ounet.gprs.dns1
s'exécutentgetprop
sans paramètres pour voir toutes les propriétés définies pour les conseils.la source
nslookup
maintenant l'adresse correcte du serveur ou s'affiche-0.0.0.0
t- elle toujours ?entrez votre terminal, puis tapez 'su' et appuyez sur entrée (remarque ne fonctionne que si vous avez un téléphone rooté)
puis entrez ce qui suit (remplacez xxxx par votre ip de serveurs DNS)
Maintenant, testez pour voir si cela a fonctionné correctement
Cela devrait se résoudre maintenant.
la source
resolv.conf
sera écrasé à chaque changement de connectivité par le système.J'ai copié (et légèrement modifié) ma réponse à partir d'un commentaire que j'ai publié sur un problème sur la page de codes Google pour Terminal IDE, mais cela devrait être le même:
Si vous êtes rooté, vous pouvez installer la dernière version de busybox (vous pourrez peut-être la compiler). Ensuite, découvrez où vous avez mis à jour la boîte occupée et exécutez les commandes suivantes: (Je suppose que la nouvelle version est
/system/bin
et l'ancienne version~/system/bin
)Désormais, les domaines seront résolus correctement.
Veuillez noter: en raison du fonctionnement de busybox, vous devez être root pour pouvoir l'utiliser
ping
(bien que des choses commewget
etnslookup
devraient pouvoir résoudre les hôtes correctement maintenant). Les développeurs de busybox travaillent sur ce problème.J'ai personnellement utilisé cette application pour installer la dernière version: https://play.google.com/store/apps/details?id=stericson.busybox
la source
Quel réseau utilisez-vous? S'il s'agit du Wifi, d'autres machines de votre réseau peuvent-elles le contacter? S'il s'agit d'un plan de données de l'opérateur ... est-il bloqué?
Mise à jour: 0.0.0.0 me semble être un bloc de fichiers d'hôtes. Des bloqueurs de publicités? Adblock Plus? Héberge des modifications de fichiers?
Essayez la mise en réseau USB - si vous postez un commentaire ici pour le demander, je mettrai à jour la question et mettrai un tutoriel (c'est impliqué, et je ne sais comment le faire que sur des machines GNU / Linux)
la source
/system/etc/hosts
a un tas d'URL à l'127.0.0.1
J'utilise ceci dans Android d'ADB. Il y a peut-être de meilleures façons.
la source