最近因为要学安卓与服务器交互的知识,所以必须要让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
的网卡驱动未安装正确导致,解决办法是:

  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访问,还是没有成功,不知道为什么,有知道的告诉我一下。

Grnymotion模拟器和Android真机访问PC端Tomcat下的应用的更多相关文章

  1. Android真机访问PC端服务器

    若电脑联网:     1.开启一个无线网(以猎豹免费wifi为例)     2.手机连接上这个无线网(这样手机和电脑就在一个局域网内了)     3.此时查看手机的ip地址(我的是192.168.19 ...

  2. Android 真机投影到PC端,真机投影工具;Vysor

    Vysor可以把Android真机投影到PC端,也就是电脑上:手机端和PC端课同步操作: Vysor是Chrome浏览器的插件,我们想要添加这个插件需要FQ: 从这里可以直接下载:Vysor

  3. Android真机测试,连接到本地服务器的方法

    1. 前言 作为一名Android开发者,不管怎么说,都会经历使用Android真机来测试连接本地服务器这样的事情.这里所说的“本地服务器”大多数时候指的是:搭载有某种服务器软件的PC,例如搭载有To ...

  4. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  5. android真机自动化测试

    appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices  看结果是否是多个devices ,如果是这个问题,停掉多余设 ...

  6. 关于用wkwebview加载沙盒documents下html文件 模拟器可以,真机不行的解决方案

    最近也遇到这个问题,把我解决的思路记录一下 1.问题: 用wkwebview加载(loadRequest)沙盒documents下html文件 模拟器可以,真机不行 (前提是html内部含引用外联样式 ...

  7. Unity Frame Debugger连接Android真机调试

    当用Profiler分析到不是代码导致的性能问题,当前场景最大的性能瓶颈是渲染时,或者自己写的Shader要调试时,都可以用Frame Debugger进行调试. 按下列步骤设置打包,既可以用Prof ...

  8. Unity Profiler连接Android真机调试

    Profiler在Editor模式就可以观看性能消耗,但是毕竟电脑配置高,跟手机真机环境还是有区别.实际开发中的优化还是推荐用真机测试. 因为IOS一般比Android手机的配置高,在Android平 ...

  9. 使用ADB无线连接Android真机进行调试

    使用ADB无线连接Android真机进行调试   其实这已经是一个很古老的知识了,记录一下备忘. 准备工作 手机和电脑需要在同一个局域网内 电脑上已经安装好ADB工具,可以是Mac或者Windows ...

随机推荐

  1. hdoj 4786 Fibonacci Tree【并查集+最小生成树(kruskal算法)】

    Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. nyoj 67 三角形面积【三角形面积公式】

    三角形面积 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积   输入 每行是一组测试数据,有6个 ...

  3. MyEclipe10中集成Tomcat7

    1.MyEclipse|Servers|Tomcat|Tomcat 7.x 2.Enable 3.Browse:D:\Tomcat 7.0 4.JDK:下拉选择JDK7.0,注意:千万不能在此处右键A ...

  4. Spring三 Bean的三种创建方式

    创建Bean的三种方式在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法.实际上,Spring ...

  5. memcached与redis 对比

    一. 综述 读一个软件的源码,首先要弄懂软件是用作干什么的,那memcached和redis是干啥的?众所周知,数据一般会放在数据库中,但是查询数据会相对比较慢,特别是用户很多时,频繁的查询,需要耗费 ...

  6. 【Android笔记】MediaPlayer基本使用方式

    Android MediaPlayer基本使用方式 使用MediaPlayer播放音频或者视频的最简单样例: JAVA代码部分: public class MediaPlayerStudy exten ...

  7. wdlinux mysql innodb的安装

    mysql innodb的安装 wget -c http://down.wdlinux.cn/in/mysql_innodb_ins.sh chmod 755 mysql_innodb_ins.sh ...

  8. struts2 json 定义全局Date格式

    使用struts2的json插件时,自己定义日期格式经常使用的方式是在get属性上加入@JSON注解,这个对于少量Date属性还能够,可是假设date字段多了,总不可能去给每一个date get方法加 ...

  9. [iOS 开发]UITableView第一行显示不完全

    造成这个问题的原因可能有两个: 1. UITableView的contentOffset属性的改变: 2. MJRefresh调用两次headerEndRefreshing会造成刷新后UITableV ...

  10. colspan是跨列,rowspan是跨行

    colspan是跨列,rowspan是跨行,可以看作是网页设计表格中的列和行的一个属性.跨列相当于把两列或者多列合并成一个单元格:跨行同理是把两行或者多行合并成一行:colspan和rowspan分别 ...