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,这是我用过最快的模拟器,在浏览器输入本地链接的IP地址192.168.1.3(我的Tomcat默认80端口),挂掉了。我应该现在PC浏览器里试试的,在PC浏览器里访问,还是挂掉了,难道我的静态IP不起作用,打开网络中心,原来是我网线没插。本地连接没起作用,插上网线,再来一次,PC端访问正常。再用模拟器访问,还是挂掉了。
经过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 Genymotion,Genymotion访问主机以10.0.3.2访问
我用上面的两个地址在模拟器访问,一个都没成。会不会是VirtualBox Host-Only Network没装好呢,我把它删了,VirtualBox应该会再生成一个?打开设备管理器,直接将它干掉。然后悲剧了,没生成,于是我就将VirtualBox
卸了装,装了卸,都没有再出现VirtualBox Host-Only Network,在VirtualBox,选择管理
– 全局设定– 网络 – 添加仅主机(Host-Only)网络,提示“无法创建Host-Onlynetwork adapter”。
google找到了解决方法,参考 http://support.huawei.com/ecommunity/bbs/10224117.html
该问题一般是由于virtualbox 的网卡驱动未安装正确导致,解决办法是:
-
到控制面板里面去卸载VirtualBox。
-
到 C:\Windows\System32\drivers目录下找到VBox开头的.sys文件,一般有VboxDrv.sy,VboxNetAdp.sys,VboxNetFlt.sys,VBoxUSBMon.sys,将这些文件删除。
-
重启电脑。
-
重新以管理员权限安装VirtualBox,安装完成后,再次创建虚拟网卡,一般都会成功。
按照上面的步骤,终于恢复了VirtualBox Host-Only Network,但是依然不能在模拟器中访问PC端,于是,我又回过头来看模拟器的配置,尝试性的将配置修改成如下图
再来以10.0.3.2访问,好了,可以正常访问了。但是,我以192.168.56.1访问,还是没有成功,不知道为什么,有知道的告诉我一下。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)