
ネットワークに詳しい方なら、実績のあるhostsファイルについてご存知でしょう。これを使えば、アドレスを名前にマッピングするなど、様々なことができますが、広告(さらにはウェブサイト)をブロックすることもできます。決して簡単な作業ではありませんが、挑戦する価値は十分にあります。
しかし、なぜ広告をブロックする必要があるのでしょうか?完璧な世界であれば、広告をブロックする必要はありません。しかし残念ながら、私たちは完璧な世界に生きていません。悪意のある広告ネットワークも存在します。そのため、デバイスとデータを保護する必要があります。Androidのhostsファイルを編集して広告をブロックすることにご興味があれば、データとデバイスを保護するために大いに役立ちます。その方法をお見せしましょう。
ただし、デバイスがルート化されている必要があるという点が唯一の注意点です(hostsファイルの編集や上書きにはルート権限が必要)。既にルート化されたデバイスをお持ちの場合は、非常に簡単に実行できます。デバイスがルート化されていない場合は、まずルート化する必要があります。Samsung Galaxy S4のルート化については、「Verizon Samsung Galaxy S4を安全にルート化する方法」という記事で解説しています。デバイスのルート化の要点については、こちらの記事をご覧ください。
デバイスをルート化すれば、作業は簡単になります。/system/etc/hosts ファイルを編集し、すべての広告サイトを 127.0.0.1 に誘導するだけです。この作業には 2 つの方法があります。1 つ目(そして最も簡単な方法)は、この hosts ファイルをダウンロードすることです(このファイルは、すべての広告サイトを 127.0.0.1 に誘導することで、膨大な数の広告サイトをブロックするために特別に作成されています)。このファイルを PC にダウンロードしたら、Android デバイスを接続し、Android ファイルシステム階層の /system/etc にファイルをコピーします。現在のファイルを上書きし、ES ファイルエクスプローラー(図 A)などの /etc/system を実際に参照できるファイルマネージャーを使用する必要があります。
図A

ルート化された Verizon ブランドの Samsung Galaxy S4 で hosts ファイルを表示する。
デフォルトのhostsファイルをサードパーティ製のものに置き換えたくない場合は、手動でファイルを編集することもできます。ブロックしたい広告ネットワークを探し、以下の形式で新しいhostsファイルを作成してください。
172.0.0.1 広告ネットワーク URL
ここで、adnetwork_urlは広告ネットワーク サーバーの実際の URL アドレスです。
ファイルを書き込んだら (テキスト エディターで作成し、拡張子なしで hosts として保存する必要があります)、Android デバイスを PC に接続し、ファイル マネージャーを使用して /system/etc/hosts ファイルを上書きします。
デバイス上のhostsファイルを直接編集することもできます。これを行うには、ESファイルマネージャーなどのサポートされているファイルマネージャーを使用してファイルを開く必要があります。その前に、hostsファイルに書き込み権限が正しく設定されていることを確認してください。そのためには、以下の手順に従ってください。
- ESファイルマネージャーを開く
- /system/etc へ移動します
- ホストファイルを見つけて長押しします
- メニューボタンをタップします
- プロパティを選択
- 権限セクションで変更をタップします
- 書き込み列の下にあるグループのチェックボックスをタップします(図B)
- OKをタップ
- キャンセルをタップ
- デバイスを再起動
図B

書き込み列の下のグループのチェックボックスをタップします。
さて、hostsファイルを編集しましょう。手順は以下のとおりです。
- ESファイルマネージャーを開く
- /system/etc へ移動します
- ホストファイルを見つけて長押しします
- 詳細ボタンをタップします
- 表示されるポップアップメニューから、「名前を付けて開く」をタップします(図C)。
- テキストをタップ
- ファイルを編集するために使用するエディタを選択します(スーパーユーザーアクセスを取得できるTurbo Editorなどのテキストエディタを使用する必要があります)
- エントリーを作成する
- ファイルを保存します(保存方法は使用するエディタによって異なります)
図C

ES ファイル マネージャーのポップアップ ウィンドウ。
hostsファイルを編集したら、いよいよテストです。Androidデバイスでウェブブラウザを開き、ブロックされた広告サーバーの1つにアクセスします。テストすると、「このウェブページは利用できません」というエラーが表示されるはずです(図D)。これで、Androidデバイスで広告サーバーを正式にブロックできました。
図D

Android デバイス上でブロックされた広告サーバー。
多くのアプリ、特に無料アプリにとって、広告は必要悪です。しかし、悪質な広告サーバーの存在を知り、それをブロックしたい場合、最も簡単な方法の一つは、ルート化されたデバイスのhostsファイルを編集することです。もちろん、ルート化されたデバイスをお持ちでない場合は、AdBlock Freeのようなサードパーティ製アプリを使用するしかありません。AdBlock Freeは、ブラウザ内のポップアップ広告のみをブロックします。本当にポップアップ広告をブロックしたいのであれば、hostsファイルを編集するのが最善の方法です。
Androidデバイスで広告をブロックすることに成功しましたか?もし成功しているなら、どのような方法を試しましたか?下のディスカッションスレッドであなたの経験を共有してください。