最近因为要学安卓与服务器交互的知识,所以必须要让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. MIPI D-PHY 简写收集

    Acronyms APPI         Abstracted PHY-Protocol InterfaceBER            Bit Error Rate 417 CILControl ...

  2. ACM2096

    #include<iostream> int main() { using namespace std; int a,b,count; cin>>count; while(co ...

  3. 实现自己的脚本语言ngscript之二:语法分析

    ngscript的语法分析使用的是我自己的语法分析工具parseroid.与常用cc工具(yacc.bison.javacc.antlr.etc…)不同的是,parseroid生成的不是语法分析器的源 ...

  4. SQL第二课-创建数据表

    查看有多少数据库 SHOW DATABASES; 进入数据库:USE <数据库名> 举例:USE test;//进入test数据库 查看当前进入的是哪个数据库 SELECT DATABAS ...

  5. 【设计模式 - 1】之工厂模式(Factory)

    1      模式简介 1.1    工厂模式作用 工厂模式解决的是"使用new关键字获取对象造成松耦合"的问题. 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏 ...

  6. 谈一下怎样设计Oracle 分区表

    在谈设计Oracle分区表之间先区分一下分区表和表空间的个概念: 表空间:表空间是一个或多个数据文件的集合,全部数据对象都存放在指定的表空间中,但主要存放表,故称表空间. 分区表:分区致力于解决支持极 ...

  7. tcpdump抓包以及port查看的一些操作

    1.tcpdump. nginx开启后会占用80端口,此时运行命令:tcpdump tcp port 80 结果例如以下: [syswj@host ~]$ sudo tcpdump tcp port ...

  8. CSU1306:Manor(优先队列)

    Description Bob有n个正整数,他将这n个整数根据大小划分成两部分.对于小于等于k的整数放在集合A中,其余的放在集合B中.每次他从集合B中取出一个最大的值,将其变成0放入A集合中.然后将A ...

  9. linux lsof命令详解

    linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访 ...

  10. LINUX 性能 测试 优化工具

    监控 测试 优化