Ręcznie ustaw nazwę hosta dla adresu IP (tj. / Etc / hosts equiv.?)

10

Jestem programistą i rozwijam naszą stronę internetową na moim lokalnym komputerze stacjonarnym. Mam telefon z Androidem (HTC Desire z systemem Android 2.2). Chcę przetestować, jak wygląda nasza aplikacja internetowa na Androidzie. Mogę połączyć się z tą samą siecią Wi-Fi co mój komputer stacjonarny, jednak w naszej aplikacji internetowej korzystamy z kilku zakodowanych na stałe fałszywych nazw domen. Na moim komputerze stacjonarnym Ubuntu Linu7x używam /etc/hostsdo ustawiania tych nazw domen na lokalne adresy IP.

Czy można to zrobić na Androidzie? Chcę, aby „foo.xyz” (nasza testowa nazwa domeny) wskazywał na 172.31.1.67 (mój wewnętrzny komputer stacjonarny). Czy można to zrobić bez zrootowania telefonu (ponieważ mój telefon z Androidem nie jest teraz zrootowany)

Rory
źródło
W jaki sposób Twoje inne komputery przetwarzają ten adres IP na nazwę domeny testowej? Jeśli robisz to poprawnie i używasz DNS wewnętrznie w swojej sieci oraz aktualizujesz adres IP / nazwę w DNS, aby wskazywać jeden na drugim, to kiedy telefon łączy się z wewnętrznym Wi-Fi, powinien wybrać wewnętrzne ustawienia DNS i po prostu działać .
GAThrawn
@GAThrawn Zajmuję się także tworzeniem stron internetowych (choć nie specjalnie dla urządzeń mobilnych). W moim środowisku normalne jest posiadanie wielu lokalnych witryn programistycznych skonfigurowanych na różnych wirtualnych hostach i łączenie się z nimi przez / etc / hosts (lub Windows Equiv). Ponieważ OP działa pod Linuksem, konfiguracja serwera dev DNS powinna być dość prosta. W pewnym sensie zbaczamy z tematyki tej strony :)
Matt H
3
@Matt próbował zaproponować lepszy sposób niż zmianę ustawień w telefonie. Jestem administratorem systemu i wolałbym, żeby to wszystko było scentralizowane w DNS. Setki plików HOSTS wszędzie, wszystkie wskazujące różne nazwy pod różnymi adresami, to koszmar zarządzania, który należy śledzić, i ogromny ból głowy i koszmar, gdy ktokolwiek poza oryginalnym twórcą musi w ogóle rozwiązać jakiekolwiek problemy.
GAThrawn
@GAThrawn +1 za „ogromny ból głowy” - to na pewno :) DNS jest oczywiście prostszą opcją - dodał informacje do mojej odpowiedzi na temat określenia niestandardowego serwera DNS w przypadku, gdy jest to przydatne dla PO. Moje „robię tworzenie stron internetowych” miało oznaczać „… więc czuję twój ból”, a nie „… więc wiem o czym mówię” - przepraszam, jeśli okazało się, że to trochę -dah :)
Matt H
Miałem rozwiązanie tego problemu dla maszyny z systemem Windows, co może zachęcić do rozwiązania Ubuntu, niestety zgubiłem swój post na blogu krok po kroku. Korzystając z SimpleDNS, mogłem hostować własny DNS sieci, więc każda domena, do której musiałem trafić, i miałam aplikację zajmującą domenę, więc po prostu ją dodałem, a SimpleDNS przekaże adres IP do okna dewelopera w sieci. Następnie na urządzeniu z Androidem lub iOS po prostu zmień swój DNS Wi-Fi na adres IP urządzenia, na którym działa DNS i jesteś daleko!
Markive

Odpowiedzi:

6

Firefox Mobile obsługuje serwery proxy HTTP, więc chociaż jest to inny silnik renderowania, powinieneś przynajmniej wiedzieć, jak Twój interfejs działa na małym ekranie dotykowym. Oto jak dostać się do tajnej sekcji konfiguracji - http://support.mozilla.com/en-US/questions/758279

Domyślna przeglądarka zawiera obsługę proxy w Gingerbread (chociaż to nie pomaga teraz Tobie i Twoim nieukończonym Desire, HTC powinno wkrótce zaoferować aktualizację OTA do Gingerbread , lub może zachęcić Cię do zrootowania i ponownego flashowania telefonu).

(W obu przypadkach należy skonfigurować serwer proxy w sieci, aby mógł obsługiwać domenę foo.xyz)

Wreszcie, zawsze możesz użyć emulatora zestawu SDK systemu Android . Wydajność będzie boleśnie niska, ale przynajmniej będziesz miał ten sam silnik renderowania.

Edycja: Jak wspomina GAThrawn w powyższych komentarzach, możesz również osiągnąć to, co chcesz, używając wpisów DNS na domyślnym serwerze DNS w sieci lub na rozwojowym serwerze DNS. Telefon przejmie domyślny serwer DNS sieci Wi-Fi lub możesz go zmienić na coś konkretnego, wybierając Ustawienia> Sieci zwykłe i bezprzewodowe> Ustawienia Wi-Fi> Klawisz programowy> Zaawansowane.

Matt H.
źródło