android-adb

HierarchyViewer不能连接真机的问题

检查一台android手机是否已经打开了View Server的命令:

adb shell service call window 3

如果返回的是


dos执行结果.png

表示View Server 处于关闭状态;
如果返回的是

Result: Parcel(00000000 00000001 '........')

说明View Server处于打开状态;
打开View Server命令:

adb shell service call window 1 i32 4939

但是前提是,该设备可以打开View Server
反之,如果关闭View Server:

adb shell service call window 2 i32 4939

adb offline问题

在cmd执行命令:

adb devices

出现如下图所示的结果:


adb devices.png

然后执行启动服务操作:

adb kill-server
adb start-server

结果还是出现上图结果;
查看当前adb的版本信息:

adb version

adb version.png

看到当前的版本是1.0.26,在网上查找资料说是,版本太低导致的问题;
然后升级当前adb的版本:

android update adb

android update adb.png

此时查看adb版本,实际结果还是1.0.26,这一块很是费解,但是在网上找资料说是可以在adb.exe所在目录下执行操作,然后抱着试试的态度试一下:

adb version

结果:


adbr.png

可以看到当前版本已经是1.0.39了,又尝试了查看当前设备的命令结果:


asd.png

由上面的命令我们可以看到,server version(26) 不匹配client(39),所以我们找到了offline的原因了,就是因为adb服务版本太低导致;但是我尝试了删除环境变量的配置在非adb.exe目录下始终查出来adb的版本是1.0.26,至于这个问题暂时不清楚(后面再查资料);

ADB的命令列表

ADB命令 命令描述 参数含义 备注
adb kill-server 杀死当前的服务
adb start-server 开始adb服务
adb shell dumpsys activity l (findstr/grep) "a" 查询当前设备堆栈中的Activity a表示Activity的名称
adb install [-s/-r] <apkfile> 安装apk文件 apkfile表示apk的本地路径,如果不在当前目录,就是用绝对路径;-s表示重新安装,保留数据和缓存文件;-s表示安装到sd卡 findstr在win系统;grep在linux系统
adb uninstall [-k] <package> 卸载app package表示要卸载的app的包名;-k表示保留数据和缓存文件
adb shell pm list packages [[-s/-3] l (findstr/grep pkgname)] 查询所有安装的app包名 -s表示系统应用;-3表示第三方应用;(findstr/grep)表示查询;pkgname表示包名的模糊关键字 findstr在win系统;grep在linux系统
adb shell pm clear <packagename> 清除应用的数据和缓存 packagename表示包名
adb shell am start -n <pkgname>/<activitypath> 启动应用 pkgname表示包名;activitypath表示带.的路径,如果是全路径不需要.
adb shell am force-stop <pkgname> 强制停止应用 pkgname表示包名
adb logcat 查看日志 ctrl+c结束
adb reboot 重启
adb get-serialno 获取序列号
adb shell cat /sys/class/net/wlan0/address 获取mac地址
adb shell getprop ro.product.model 查看设备型号
adb shell getprop ro.build.version.release 查看Android系统版本
adb shell wm size 查看屏幕分辨率
adb shell wm density 查看屏幕密度
adb nodaemon server 查看adb绑定的端口 netstat -ano l findstr “5037”

注:命令中的 l 实际上表示的是字符 |

以上列出了adb比较常用的命令,还有很多的命令,我们可以参考awesome-adb,命令很齐全。

Genymotion操作

11.png

12.png

13.png

5x执行命令.png

夜神模拟器

解决夜神模拟器连接adb失败的原因:
将android的sdk目录下的adb.exe复制带夜神安装目录下替换掉nox_adb.exe

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容