Android虚拟机修改host文件的方法_杜云飞.的博客-程序员宅基地

技术标签: 虚拟机  手机  shell  android  远程连接  ANDROID  eclipse  

今天在调试页面时想看看在android上面的效果,于是乎就有下面的一系列问题了,如何修改host呢?

准备工作:启动虚拟机。这里的启动不是从eclipse中启动,而是从命令行中启动。

emulator -avd 你创建的avd名字(比如android2.1) -partition-size 128
-partition-size 128 :指定模拟器的system和data分区的大小是128M

修改HOST文件:

1、获得root权限:adb root

2、设置/system为可读写:adb remount

3、将hosts文件复制到PC:adb pull /system/etc/hosts <PC机上文件名>。这里可以考虑使用DDMS来复制,这个比较方便,但上传经常会出错;

4、修改PC机上文件

5、将PC机上文件复制到手机:adb push <PC机上文件名> /system/etc/hosts

如果要查看是否修改成功,可以在PC上执行adb shell,运行cat /system/etc/hosts;或者在手机上运行cat /system/etc/hosts。

hosts文件格式的写法应该是每个域名一行才能使用,例如:

127.0.0.1      host1.example.com
127.0.0.1      host2.example.com
127.0.0.1      host3.example.com

ps:如何判断手机是否已经root了,输入adb shell回车,su 回车,如果出现#,那么你的手机的确ROOT了。

另:文件稍微大点,输入完命令就提示out of memory,在网上找到的解决办法都是针对模拟器的.后来通过下面的方式彻底搞定.

 

adb常用命令

adb remount           重新挂载文件系统
adb reboot             重启手机
adb reboot recovery     重启到Recovery界面
adb reboot bootloader    重启到bootloader界面
adb get-product         获取设备的ID

adb get-serialno         获取设备的序列号

adb bugreport           查看bug报告

 
 

下列表格列出了adb支持的所有命令,并对它们的意义和使用方法做了说明.

Category

Command

Description

Comments

Options

-d

仅仅通过USB接口来管理abd.

如果不只是用USB接口来管理则返回错误.

-e

仅仅通过模拟器实例来管理adb.

如果不是仅仅通过模拟器实例管理则返回错误.

-s <serialNumber>

通过模拟器/设备的允许的命令号码来发送命令来管理adb (比如: "emulator-5556").

如果没有指定号码,则会报错.

General

devices

查看所有连接模拟器/设备的设施的清单.

查看 Querying for Emulator/Device Instances 获取更多相关信息.

help

查看adb所支持的所有命令。.

version

查看adb的版本序列号.

Debug

logcat [<option>] [<filter-specs>]

将日志数据输出到屏幕上.

bugreport

查看bug的报告,如dumpsys , dumpstate ,logcat 信息。

jdwp

查看指定的设施的可用的JDWP信息.

可以用 forward jdwp:<pid> 端口映射信息来连接指定的JDWP进程.例如:
adb forward tcp:8000 jdwp:472
jdb -attach localhost:8000

Data

install <path-to-apk>

安装Android为(可以模拟器/设施的数据文件.apk指定完整的路径).

pull <remote> <local>

将指定的文件从模拟器/设施的拷贝到电脑上.

push <local> <remote>

将指定的文件从电脑上拷贝到模拟器/设备中.

Ports and Networking

forward <local> <remote>

用本地指定的端口通过socket方法远程连接模拟器/设施

端口需要描述下列信息

· tcp:<portnum>

· local:<UNIX domain socket name>

· dev:<character device name>

· jdwp:<pid>

ppp <tty> [parm]...

通过USB运行ppp: 

· <tty>— the tty for PPP stream. For example dev:/dev/omap_csmi_ttyl .

· [parm]...&mdash zero or more PPP/PPPD options, such as defaultroute , local , notty , etc.

需要提醒你的不能自动启动PDP连接.

Scripting

get-serialno

查看adb实例的序列号.

查看 Querying for Emulator/Device Instances 可以获得更多信息.

get-state

查看模拟器/设施的当前状态.

wait-for-device

如果设备不联机就不让执行,--也就是实例状态是 device .

你可以提前把命令转载在adb的命令器中,在命令器中的命令在模拟器/设备连接之前是不会执行其它命令的示例如下

adb wait-for-device shell getprop

需要提醒的是这些命令在所有的系统启动启动起来之前是不会启动adb的 所以在所有的系统启动起来之前你也不能执行其它的命令比如:运用install 的时候就需要Android包,这些包只有系统完全启动。例如: 

adb wait-for-device install <app>.apk

上面的命令只有连接上了模拟器/设备连接上了adb服务才会被执行,而在Android系统完全启动前执行就会有错误发生.

Server

start-server

选择服务是否启动adb服务进程.

kill-server

终止adb服务进程.

Shell

shell

通过远程shell命令来控制模拟器/设备实例.

查看 获取更多信息 for more information.

shell [<shellCommand>]

连接模拟器/设施执行shell命令,执行完毕后退出远程shelll.

 

分类: android tool
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/t80t90s/article/details/8101562

智能推荐

Cesium简介_云上飞47636962的博客-程序员宅基地_cesium

Cesium简介 一、Cesium介绍Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。二、C...

js css实现跟随,JS+CSS实现侧边栏跟随浏览器滚动效果_贫穷的女儿的博客-程序员宅基地

不少 blog 文章页的侧边栏都可以随着浏览器滚动而停留在页面,这对于长幅文章来说最好不过了。其实我们也可以用这种特效,只需简单的几个代码。下面就介绍转自卢松松 blog 的代码。实现侧边栏跟随特效的方法:添加 css:/*侧栏跟随*/#box{float:left;position:relative;width:250px;}.div1{width:250px;}.div2{position:f...

手把手使用netty4+Springboot2.x实现mqtt协议之客户端与服务器端_程序员阳仔的博客-程序员宅基地_netty实现mqtt服务器

大家好,由于我想去北京找工作,但是发现北京人才济济,很多岗位都能胜任,但是因为专科学历,连面试机会都没有,不过今天我给大家带来的教程,是完全可以让大家快速搭建netty-mqtt服务的干货,源码里面有日志,详细记录服务端在与客户端交互的接收包状态,并给大家准备了一套纯净版springboot+netty 4.x的源码实现方案。...

string型字符串和char型字符串的区别_幻想之渔的博客-程序员宅基地

string型字符串和char型字符串的区别:char型字符串比较使用strcmp函数。string类的成员函数中重载了比较运算符(==)之类的关系运算符。char型赋值用strcpy,string类中使用operator函数重载了运算符strcpy会将第二个参数中所有的字符,包括结束标志'\0'一块复制到第一个参数中区。不可以直接将char型字符数组进行赋值操作。as

jdk动态代理+cglib动态代理+静态代理_一架带着篮球的僚机的博客-程序员宅基地

刚来上班不多久,公司让我试着做一个多线程操作数据库,因为小编所在的公司大多是接一些银行的项目,数据量比较庞大,想着能不能用多线程的方式去做数据的插入,我也没有做过类似的工作,之前做的项目大多是关于高并发的,现在做高数据量的。。。。。线程实现的两种几个方式:实现和继承 首先实现好,因为比较灵活,继承:继承Thread类 写里面的run方法,再在main方法中开启这个线程即可。实现:实现r...

Unity Labs负责人:VR主题公园和MMORPG游戏是很好的盈利方式_weixin_33994444的博客-程序员宅基地

Unity Labs的VP Sylvio Drouin以及首席设计师Timoni West在Unite 2016大会上演示了Unity Labs的最新工具“VR编辑器”。 4月10~12日,Unite 2016开发者大会在上海静安香格里拉酒店召开。本次会上,Unity Labs的VP Sylvio Drouin以及首席设计师...

随便推点

C 入门之路-变量_die Ewigkeit -en的博客-程序员宅基地

入门变量的理解1、变量2、内存3、内存的存储“单位”4、变量使用规则1、变量1,此变量非数学中的变量,变量,式一个内存中的一块存储空间,即一小块内存。2、内存1、内存读取速度&gt;固态硬盘读取速度&gt;机械硬盘读取速度。内存的读写速度和存储空间将直接影响电脑的运行,如果内存过小,电脑将会出现卡顿现象。2、列如:你下载了一个视频,视频是保存在硬盘里,当你在观看时,视频会被读取到内存...

linux运行pycharm的程序,5. Pycharm 安装、设置、运行_二师姐聊保险的博客-程序员宅基地

1. 编辑器的选择VIM:linux中有vim编辑器,我们可以用vim的python自动补全功能,实现快速编程(百度搜用法)Sublime:也支持代码编辑,点右下角可以选择代码语言;缺点:需要安装很多插件(工具---插件包控制),新手不易上手。Editplus:“新建”--“其他”,选择需要的语言,就可以开始编程了。Pycharm:大型项目编辑器首选,专业我们这里选择社区版2. pycharm的设...

Golang import 导入包语法介绍_吕海洋的博客-程序员宅基地

package 的导入语法写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下:import( "fmt")然后在代码里面可以通过如下的方式调用:fmt.Println( "我爱北京天安门" )fmt 是 Go 的标准库,它其实是去 GOROOT 下去加载该模块,当然 Go 的 import 还支持如下两种方式来加载自己写的模块:相对路径...

leetcode994. 腐烂的橘子(bfs)_Gogo-2020的博客-程序员宅基地

在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。输入:[[2,1,1],[1,1,0],[0,1,1]]输出:4代码class Solution { public int orangesRotting(int[][] grid) { Queue&lt;

matlab医学图像规律,医学图像ROI的特征提取(matlab代码)_刘浚嘉的博客-程序员宅基地

I = imread('result.bmp');[height,width]=size(I);threshold= graythresh(I);bw = im2bw(I, threshold);bw = ~bw;bw = bwareaopen(bw,30);[L,num]= bwlabel(bw, 8);S = regionprops(L, 'centroid');Ar = regionprop...

[20170419]ora-28547.txt_weixin_34293911的博客-程序员宅基地

[20170419]ora-28547.txt --//测试环境,莫名奇妙使用toad登陆出现如下错误(使用ezconnect方式)。 ORA-28547: connection to server failed, probable Oracle Net admin error $ oerr ora 28547 ...