Grnymotion模擬器和Android真機訪問PC端Tomcat下的應用

廢話比較多,可以直接看紅色字體

最近因爲要學安卓與服務器交互的知識,所以必須要讓android程序能訪問一個測試服務器。所以我就考慮讓真機或者模擬器訪問PC端的Tomcat或者Apache服務。說幹就幹

在介紹步驟之前,有必要說點基礎的。我們在本地訪問本地web應用時,一般使用localhost或者127.0.0.1訪問。但在android程序中我們決不能寫這兩個地址,因爲android也是一款linux操作系統,使用這兩個地址就會訪問android機器本身了,所以我們必須在android程序中訪問PC的IP地址

下面講我一個晚上乾的事情!

首先,我考慮到是用真機訪問Tomcat,上網查,方法很簡單,將PC和Android手機放在同一個局域網,比如WLAN中,就可以直接用真機訪問PC的靜態IP訪問到PC。但本人財力有限,不願花錢買無線路由。所以這個方法被我PASS掉了。

接着,我就要考慮用模擬器來訪問Tomcat了,這裏先介紹介紹我用的模擬器-Grnymotion,這是我用過最快的模擬器,在我超頻1.3GHz的屌絲PC機上,它依然跑到非常流暢,開機速度還超過了我的真機,就衝這點,我從不用google的什麼模擬器,弱爆了。廢話不多說,打開我塵封已久的Grnymotion模擬器(我一般用真機開發的),在瀏覽器輸入本地鏈接的IP地址192.168.1.3(我的Tomcat默認80端口),卡,掛掉了。好吧,我應該現在PC瀏覽器裏試試的,在PC瀏覽器裏訪問,還是掛掉了^_^,難道我的靜態IP不起作用,打開網絡中心,一看,嗨,原來是我網線沒插。。。本地連接沒起作用,插上網線,再來一次,PC端訪問正常。再用模擬器訪問,還是掛掉了。

爲毛會這樣了,google吧,一google,原來跟我有共同需求的人很多嘛,經過google,我知道了下面幾點

  • Genymotion安裝後VirtualBox Host-Only Network的IP爲192.168.56.1,在PC端以這個地址能訪問Tomcat
  • use 10.0.2.2 for default AVD and 10.0.3.2 for GenymotionGenymotion訪問主機以10.0.3.2訪問

我用上面的兩個地址在模擬器訪問,一個都沒成,坑爹。於是,手賤,會不會是VirtualBox Host-Only Network沒裝好呢,我把它刪了,VirtualBox應該會再生成一個?打開設備管理器,直接將它幹掉。然後悲劇了,沒生成,於是我就將VirtualBox 卸了裝,裝了卸,都沒有再出現VirtualBox Host-Only NetworkVirtualBox,選擇管理 – 全局設定– 網絡 – 添加僅主機(Host-Only)網絡,提示“無法創建Host-Onlynetwork adapter”毛辦法,只好再次google

這次google沒白乾,找到了解決方法,參考 http://support.huawei.com/ecommunity/bbs/10224117.html

該問題一般是由於virtualbox 的網卡驅動未安裝正確導致,解決辦法是:

  1. 到控制面板裏面去卸載VirtualBox

  2. 到 C:\Windows\System32\drivers目錄下找到VBox開頭的.sys文件,一般有VboxDrv.sy,VboxNetAdp.sys,VboxNetFlt.sys,VBoxUSBMon.sys,將這些文件刪除。

  3. 重啓電腦。

  4. 重新以管理員權限安裝VirtualBox,安裝完成後,再次創建虛擬網卡,一般都會成功。

按照上面的步驟,終於恢復了VirtualBox Host-Only Network,但是依然不能在模擬器中訪問PC端,於是,我又回過頭來看模擬器的配置,嘗試性的將配置修改成如下圖


 網絡配置

再來以10.0.3.2訪問,居然成功了。好了,可以正常學習了。但是,我以192.168.56.1訪問,還是沒有成功,不知道爲什麼,有知道的悄悄告訴我一下。


模擬器訪問pctomcat



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章