1

私はこれにかなりイライラしています。Android アプリのサービス フィードを実行する開発 Web サーバーがあります。任意の数のマシンから参照できます。

AVD で (さまざまなバージョンをすべて同じように試しました)、rw を再マウントしてプルし、編集してから、ホスト ファイルを system/etc/hosts にプッシュします。DDMS で日付が更新されていることがわかります。それを元に戻すと、変更が反映されます。

さらに、コマンド プロンプトに移動して adb shell を実行し、テストホスト名に ping を実行すると、正しい IP から応答が返されます。なぜ??????avd ブラウザはページをロードしませんか。そうそうページ。「はい、私は働いています」というプレーンな HTML。

最後に、html ページを参照しなくても問題ありませんが、開発とテストの目的でアプリが自分のサービス (ホストされている同じサイト) にクエリを実行する必要があるため、接続を試みる前にこれが接続の良いテストになると考えていました。私のアプリはサービスにリクエストを行います。

困惑した。.....


解決しました!!!

私のWindowsのバックグラウンドでは、ホストファイルをIP、タブ、ホスト名で編集しています。さて、adbシェルからホストを編集するといういくつかの指示に従いました。それはうまくいきました...ハァッ??? そのため、ファイルを取り出して Edit+ で開いたところ、自分の足を撃っていたことがわかりました。IP とホスト名の間のスペースは* 1 つだけです。それは今うまくいっています。

4

4 に答える 4

1

私のWindowsのバックグラウンドでは、ホストファイルをIP、タブ、ホスト名で編集しています。さて、adbシェルからホストを編集するといういくつかの指示に従いました。それはうまくいきました...ハァッ??? そのため、ファイルを取り出して Edit+ で開いたところ、自分の足を撃っていたことがわかりました。IP とホスト名の間のスペースは *1 つだけです。それは今うまくいっています。疑わしい場合は、ファイルをデスクトップにプルせずにホスト ファイルを更新することを強くお勧めします。これは、そのためのシェルからのコマンドです。

./adb -s [DeviceID] shell
echo '###.###.###.###   [HostName/URl]' >> /etc/hosts
exit

上記のコマンドは、シェルから実際にファイルを編集するためのコマンドだけが必要なすべてのステップではありません。書き込みパーマ等はまだ必要です。

于 2013-01-02T16:50:05.007 に答える
1

Windows ホスト ファイルでは、IP アドレスとホスト名の間に複数のスペース (タブ) を含めることができますが、Android ホスト ファイルでは、IP とホスト名の間に単一のスペースが必要です。notepad ++を使用して、IPとホスト名が単一のスペース文字で区切られている単一のエントリを持つホストファイルを試しました。しかし、それでも問題は解決しません。つまり、エミュレーターでサイトを開くことができませんでした。

ローカル マシンのホスト ファイルを Android エミュレーターにプッシュする手順を見つけることができます -> http://borkweb.com/story/setting-etchosts-on-an-android-emulator-using-a-mac

しかし、それでもエミュレーターは解決されたこのホストファイルを使用できません->私はこれを試しました(動作しました):1.エミュレーターに空のホストファイルをプッシュしました2.adb shell echoコマンドを使用して同じホストファイルを編集しました

#adb shell    
#echo '172.30.1.227 fat.choice.plus' >> system/etc/hosts    
#echo '\n172.30.1.227 static-fat.loyrewards.com' >> system/etc/hosts    
  • 上記のコマンドで IP アドレスとホスト名を使用します
  • adb シェルから抜け出すには、ショートカット Ctrl + D を使用します。改行に \n 文字を使用して、echo 経由で複数のエントリを追加できます。エミュレーターは、この変更されたホスト ファイルを使用できるようになり、サイトが正常に読み込まれます。:-)
于 2017-06-14T09:43:46.320 に答える
0

最も簡単な方法と簡単な答えは次のとおりです。

これは、hosts ファイルの各行の行末 (EOL) 文字です。EOL は linux(LF) の EOL である必要があります。スペースやタブの数は関係ありません。

EOL 文字を変換するには、notepad++ で次の手順に従います: [編集] -> [EOL 変換] -> [Linux(LF)]。

確認するには: View -> Show symbol -> show end of line.

hosts ファイルで上記を確認したら、それをエミュレーターにプッシュするだけです。

次のコマンドを使用して、hosts ファイルがエミュレーターで確実に置き換えられるようにします。

adb プッシュ ./hosts /etc/hosts

adb プッシュ ./hosts /system/etc/hosts

adb プッシュ ./hosts /etc/system/hosts

注:エミュレーターを書き込みモードで実行する必要があります。

于 2021-04-22T10:32:12.417 に答える