1. 程式人生 > >Android Studio中 安卓模擬器不能聯網的解決方案

Android Studio中 安卓模擬器不能聯網的解決方案

方案一:
之前做測試的時候發現虛擬機器無法聯網(瀏覽器開啟 www.baidu.com, 顯示 403 forbidden);

解決方案:關閉已經開啟的虛擬機器,進入到 SDK 安裝目錄下,按住 shift + 滑鼠右鍵,選擇 “在此處開啟 powerShell 視窗”,然後執行:emulator -avd Nexus_5X_API_27 -prop net.eth0.dns1=192.168.2.1 (Nexus_5X_API_27 是模擬器的名字)

方案二:
首先 確保你當前的電腦可以聯網 然後開啟模擬器的瀏覽器輸入常用網址, 例如 www.baidu.com 看看是否能夠聯網
如果訪問失敗 在本機中在 cmd 中 ping

www.baidu.com 獲得百度的 ip 地址 然後在瀏覽器中輸入 https:// 百度的 ip 地址 看看是否能夠訪問
如果能夠訪問 那麼你就遇到了和我一樣的問題 請繼續看
開啟你的 sdk 目錄中的 emulator 資料夾 按住 shift 鍵同時右擊空白處 選擇在此處開啟命令視窗
然後輸入 emulator @你模擬器的名字 -dns-server 8.8.8.8,114.114.114.114

這時候你的模擬器就可以啟動了

方案三:
很多網友也問到為啥自己的 PC 機可以上網,而執行在 PC 機上面的 android 模擬器卻不能上網呢?
是因為 PC 機的 DNS 一般為:192.168.1.1,這個只是一般而言,不是絕對,這個得自己使用 ipconfig /all 命令檢查下;
而模擬器預設的 DNS 為:10.0.2.3,那麼模擬器跟自己的 PC 就不在同一個網段了,使用就導致自己的 PC 機可以上網,
而模擬器不能上網,下面就簡單介紹下如何設定才能讓模擬器也可以上網:

首先,如果沒有配置 sdk 的環境變數的,那麼在 CMD 命令下進入 sdk 安裝路徑的 tools 目錄下
(4.0 應該是進入 platform_tools 目錄下),然後使用 adb shell 命令,如果配置了 sdk 的環境變數的,
那麼直接在 CMD 視窗中輸入 adb shell,如:C:\Documents and Settings\Administrator>adb shell
然後輸入:getprop 檢視系統當前的各項屬性,得到模擬器的 DNS 地址,如下:
下面就是使用 setprop 命令把模擬器的 DNS 改為自己 PC 的 DNS,例如:192.168.1.1
setprop net.dns1 192.168.1.1

設定完畢,回車生效,那麼現在模擬器可以上外網了,就是這麼簡單!

注意:這些配置是在模擬器在執行的情況下才可以。