Android虚拟机修改host文件的方法
2012-10-23 17:36:53 来源:WEB开发网核心提示: 准备工作:启动虚拟机,这里的启动不是从eclipse中启动,Android虚拟机修改host文件的方法,而是从命令行中启动,emulator -avd 你创建的avd名字(比如android2.1) -partition-size 128-partition-size 128 :指定模拟器的system和data分区
准备工作:启动虚拟机。这里的启动不是从eclipse中启动,而是从命令行中启动。
emulator -avd 你创建的avd名字(比如android2.1) -partition-size 128
-partition-size 128 :指定模拟器的system和data分区的大小是128M
-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 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命令,执行完毕后退出远程shell端l.
|
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››修改mysql的root密码的几种方法
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
更多精彩
赞助商链接