Grnymotion模拟器和Android真机访问PC端Tomcat下的应用-阿里云开发者社区

开发者社区> 吕亚辉> 正文

Grnymotion模拟器和Android真机访问PC端Tomcat下的应用

简介: 最近因为要学安卓与服务器交互的知识,所以必须要让android程序能访问一个测试服务器。所以我就考虑让真机或者模拟器访问PC端的Tomcat或者Apache服务。 在介绍步骤之前,有必要说点基础的。
+关注继续查看


最近因为要学安卓与服务器交互的知识,所以必须要让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 GenymotionGenymotion访问主机以10.0.3.2访问

我用上面的两个地址在模拟器访问,一个都没成。会不会是VirtualBox Host-Only Network没装好呢,我把它删了,VirtualBox应该会再生成一个?打开设备管理器,直接将它干掉。然后悲剧了,没生成,于是我就将VirtualBox 卸了装,装了卸,都没有再出现VirtualBox Host-Only NetworkVirtualBox,选择管理 – 全局设定– 网络 – 添加仅主机(Host-Only)网络,提示“无法创建Host-Onlynetwork adapter”

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



 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8990 0
Android手机访问web服务器(post请求)
一:客户端—服务器连接操作类(HttpUtil) package com.example.userdatatoweb; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import
1407 0
Android中访问通讯录,数据的增删改查
1.权限 <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 2.通过提供的内容供应商访问通信录(uri) content://com
1130 0
xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
知道怎么查看后,先看看有什么实际应用,拿NSNotificationCenter来做实践吧。 首先在某个容易进入的地方加断点,并停在那,例如main函数。
909 0
Android互联网访问,get方式,post方式等方式
1、检测网络状态的代码 ConnectivityManager cm = (ConnectivityManager) Context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActivityNetworkInfo(); netInfo.toString(); 2.
804 0
+关注
吕亚辉
主做Java 后台开发,熟悉并发与网络编程。乐于分享,爱钻研问题,喜欢技术上的挑战,属复合型开发工程师,擅长后端开发,也有一定web前端开发经验,曾独立开发多个项目,独立与全栈开发能力强。
81
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载