ADB: unknown command ?
Posted 亦枫Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADB: unknown command ?相关的知识,希望对你有一定的参考价值。
通过 ADB(android Debug Bridge)安卓调试桥可以方便我们在 PC 上操作 Android 系统设备,包括数据互传。
adb 工具能够执行的指令取决于 Android 设备中支持的程度,这些指令信息位于设备的 /system/bin
目录。通过 ls 命令可以查看指令列表和对应的权限信息:
adb shell ls /system/bin/
常见的 wm 修改屏幕信息、logcat 获取日志信息、screencap 设备截屏等工具,都在这里。
不同设备可能存在差异。举个例子,华为手机出厂就删除了 screenrecord 录屏工具,于是我们通过 adb 操作录屏时,就会报错。
比如,我们想录一段 10s 的视频,并保存在设备的 sd 卡中,这样操作:
adb screenrecord adb shell --time-limit 10 /sdcard/test.mp4
由于设备不支持 screenrecord 命令,就会报 unknown command 错误:
adb: unknown command screenrecord
这个时候,可以从其他支持的设备中复制对应的工具到这个设备里面。
USB 连接准备拉取文件的手机设备,通过 adb pull 命令复制 screenrecord 工具到 PC 上:
adb pull /system/bin/screenrecord
接着 USB 连接目标设备,通过 adb push 命令进行复制,注意目录别写错了:
adb push /user/ccsa/screenrecord /system/bin/
adb push 命令需要写文件的权限,要求手机必须 ROOT 过,否则就会报错:
adb: error: failed to copy '/Users/ccsa/screenrecord' to '/system/bin/screenrecord': remote couldn't create file: Read-only file system
如果手机已经 ROOT 过,但还是报错,那就需要手动修改读写权限。
第一步,进入 adb shell 窗口:
adb shell
获取 ROOT 权限:
su
注意:如果是没有 ROOT 过的设备,这一步直接就报错了:
/system/bin/sh: su: not found
第二步,通过 mount 命令修改权限:
mount -o rw,remount /system
这样就完成了。
当然,出于手机安全考虑,最好使用完再将权限修改回去:
mount -o ro,remount /system
推荐阅读:如何像 IDE 一样浏览 GitHub 网站的项目?
又发现一个挣零花钱的方式简直是搜索引擎界的新起之秀,你值得拥有!
长按识别二维码,关注我,一名爱叨叨的程序员
以上是关于ADB: unknown command ?的主要内容,如果未能解决你的问题,请参考以下文章
【Adb】使用时报错unknown host devices
Android真机连接手机Target显示unknown cmd命令下adb devices 显示offline