netcfgandroid
1. Android模拟器太慢怎么办
用virtualbox新建虚拟机的时候,我一开始选择的是other,安装过程正常,启动没成功;于是重新建立虚拟机,选择linux和linux2.6,正常;
一开始想给虚拟机分配1G内存,但是virtualBox警告说会使PC变慢,于是我分了700多M;
网上说网络设置要选择bridged adapter,可是我的模拟器还是无法使用网络,比如用浏览器上网失败,不知为何?
安装完android之后,有时候虚拟机无法正常启动,有时候桌面上有一块黑的,重启一下就可以了;
一开始鼠标点不中android桌面,选择虚拟机窗口的设置:控制->禁止自动独占鼠标;鼠标从模拟器移除来的时候,按一下右边的Ctrl即可;
此时eclipse还找不到虚拟机,先查看android的ip地址,在android界面下按Alt+F1,很奇怪我的机器是Alt+F2,进入命令行,敲:netcfg,我的android地址是176.168.1.106,然后设置eclipse:window->preference->Android-> DDMS->Use ADBHOST打勾,value设置为刚才看到的ip地址;然后打开eclipse的DDMS界面,在左边device标签找到一个向下按钮,点击打开菜单,找到reset adb,点击,eclipse就找到虚拟机了;
选择我的android工程,点击run,程序在android模拟器中启动了,速度比android官方模拟器要快,占用电脑内存也少很多,很好;
一段时间不动,android进入锁屏,当我想开锁的时候,点不中,此时按一下Esc就可以了;
2. 超实用的adb与adb shell常用命令汇总
adb(Android Debug Bridge),SDK自带的工具,可实现桥接功能,实现PC和android设备的交互
adb shell:基于Android linux系统操作,放在安卓设备的system/bin目录下,手机端的命令
一:adb常用命令
1. PC连接android设备
(PC与android设备连接同一个wifi,或处于同一个局域网)
连接:adb connect ip:5555
断开连接:adb disconnect ip
查看连接设备的信息:adb devices
获取设备的状态:adb get-state
2. 重启adb server
打开adb服务:adb start-service
关闭adb服务:adb kill-service
3. 安装卸载软件
安装:adb install apkpath(某个apk)
adb install -r :强制安装
卸载: adb uninstall package(可用adb shell pm list packages查看包名)
4. 打印日志
打印android系统日志:adb logcat
将日志打印并保存指定文件夹:adb logcat > /Users/apple/Desktop/log.txt
终止进程:control+C
打印mpsys,mpstate,logcat的输出,用于分析错误:adb bugreport
5. PC与android设备上文件复制
android设备上文件复制到PC上:adb pull
PC上文件推至android设备:adb push
6.重新挂载system分区为可写,需要root权限./system分区默认挂载为只读,但有些操作比如给android系统添加命令,删除自带应用等需对系统进行写操作,得重新挂载为可写
adb shell
su
或:adb root
adb remount 重新挂载文件系统,获得可写的权限(默认情况是只有可读权限的),使用adb remount 的前提是要有root权限
7. 删除系统应用
adb root
adb remount
adb shell
cd system/app
rm *apk
二:adb shell命令
adb shell 进入系统子目录,exit 退出
1. pm命令
列出系统应用的所有包名:adb shell pm list packages 可用grep来过滤:adb shell pm list packages | grep 关键字
清除应用数据与缓存:adb shell pm clear <packagename>
2. am命令
启动应用:adb shell am start -n com.xxx.xxxxxxx|xxx.Activity(可通过adb shell mpsys activity activities | grep mFocusedActivity查看
强制停止应用:adb shell am force-stop <packagename>
3. input命令
模拟点击事件,点击坐标点(x,y):adb shell input tap x y
模拟滑动事件,从(x1,y1)到(x2,y2):adb shell input swipe x1 y1 x2 y2
发送文本内容:adb shell input text
模拟按下home:adb shell input keyevent KRYCODE_HOME
4. screencap命令
截屏:adb shell screencap
5. 查看网络状态命令
查看当前网络状态:adb shell netstat
通过配置文件配置和管理网络连接:adb shell netcfg
查看网络信息:ifconfig
测试网络联网状态:ping
5.其它相关命令
查看当前终端中进程:adb shell ps
获取cpu信息:adb shell cat /proc/cpuinfo
查看内存信息:adb shell cat /proc/meminfo
查看屏幕分辨率:adb shell wm size
查看设备ip地址:adb shell ifconfig | grep Mask
查看实时资源占用情况:adb shell top
3. ADB通过WIFI连接Android设备
ADB支持USB连接模式和TCPIP链接模式。我们可以用TCPIP模式通过WIFI无线连接ADB。设置非常简单。
第一步
确保电脑和Android设备连接在同一个WIFI网络环境。
第二部
用USB线连接Android设备。连接上之后你的电脑就会检查到设备并且ADB将会以USB模式启动。可以通过adb devices命令检查连接上的设备,用adb usb命令确认adb是运行在usb模式下面。
$ adb devices
List of devices attached
34342343gdf device
$ adb usb
restarting in USB mode
第三部
用adb tcpip模式重启adb
$ adb tcpip 1111
restarting in TCP mode port: 1111
第四步
查看Android设备的IP地址,这里有三种方式查看Android设备IP。
设置-关于手机-状态信息-ip地址中查看
设置-WLAN-点击当前链接上的Wi-Fi查看IP
通过ADB命令查看设备IP地址:adb shell netcfg
第五步
知道设备IP地址之后,就可以用adb connect命令通过IP和端口号连接ADB了。
$ adb connect 192.168.1.3:1111
connected to 192.168.1.3:1111
#查看一下连接上的设备,usb连接和wifi连接都存在
adb devices
List of devices attached
34342343gdf device
192.168.1.3:1111 device
拔掉USB线,你会发现设备仍然是连接上的,如果没有连接上,用刚才的命令重现尝试一下。
总结
采用wifi连接ADB和uiautomotor结合起来可以用来在usb线的状态下跑测试脚本,对于测试人员来说也是非常有帮助的。
4. adb命令,不用usb线,远程操作手机
方法如下:
1. 使用USB数据线连接设备。
2. 在命令行输入adb tcpip 5555 ( 5555为端口号,可以自由指定)。
3. 断开 USB数据,此时可以连接你需要连接的|USB设备。
4. 在从cmd命令行中输入 adb connect <设备的IP地址>:5555(端口号)
后面不通过连接数据线就可以使用ADB,DDMS 来调试Android应用或显示Logcat 消息。
5. 如果需要恢复到USB数据线,可以在命令行输入adb usb,也可以adb disconnect <设备的IP地址>:5555(端口号)
6、查看IP地址方法:
1>Android设备的IP地址可以在Settings->About Phone->Status 查到
2>adb shell
>>>ifconfig
3>adb shell
>>>netcfg
7、举个栗子:
adb tcpip 5555
adb connect 192.168.34.21:5556
adb disconnect 192.168.34.21:5556