常用adb命令

来源:互联网 发布:淘宝网131458 编辑:程序博客网 时间:2024/05/23 01:51

概述

shell环境下(指的是adb shell命令进入shell后)
这个adb确实很管用。
非常不错的总结:Linux常用Shell命令

Linux命令Linux命令大全。
Shell命令Shell命令大全

Linux命令和Shell命令区别

用命令词的时候,要明白缩写的英文全名是什么。eg:chown(change owner)
http://man.linuxde.net/

操作 命令 新建文件 mkdir filename 查找文件 find . -name “iflytek” (仅shell环境下) 删除文件 rm -r filename 筛选log日志 logcat | grep -rn “MainAcitivty” 重命名文件 mv filename1 filename2 查看文件 cat /system/bin/test.txt

参考

http://sspai.com/23641里面有些说得不太好,但是看重点
http://mobile.163.com/09/1105/06/5NBAG1OQ00112K88.html还不错

小机器(手机、开发板、平板)实用adb操作指令

adb查询进程、杀死进程

方式一:
adb shell ps
adb shell ps | findstr kwmusic(必须在shell外面,不能用ps | findstr kumusic这样查不到)
kill pid
http://blog.csdn.net/xingchenxuanfeng/article/details/50386689
方式二:
adb shell
ps
ps|grep wandoujia(这个命令grep必须在shell下进行)
总结:
findstr在shell外,grep在shell内

查看安卓设备是否连接

adb devices
这里写图片描述
我们把安卓设备用USB连接PC,在PC上打开CMD,输入adb devices回车,如果连接正确,如图,会显示已连接设备。

进入设备或模拟器的shell

adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令

注意:
shell环境中,用命令的时候不能有adb,比如:shell下只需要logcat就可以查看日志消息
非shell环境下,需要adb logcat才能查看日志消息
PS:其他命令一样

筛选日志grep

grep命令在windows的cmd的运用(如果是乱码,可以用xshell软件,可以改变编码格式)
筛选TAG命令
adb shell
logcat | grep -rn “MainAcitivty”
然后就可以查看TAG=MainActivity的log日志了(注意:grep一定要在shell环境下用,不然会提示不存在这个命令)
logcat|grep -rn “string”(如果log日志出现了该string,就会查找到)

查找

在adb shell 环境里面查找想要的文件夹
find . -name “iflytek”
(然后一会就出现路径了)

安装软件

adb install(adb install hellowrld.apk)

卸载软件

adb uninstall <软件名>
adb uninstall -k <软件名> 如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
(adb uninstall com.example.helloworld)

通过adb命令启动Activity(就是intent的功能)

adb shell am start -n 包名package/类名activity的name
例子:
adb shell am start -n “com.iflytek.speechclient/.MainActivity”
(这种后面写相对路径也是可以成功的,当然也可以写完整的路径)
启动 Android 原生设置页面
adb shell am start -n com.android.settings/.Settings

通过adb命令发送广播

http://blog.csdn.net/wh_19910525/article/details/39548757
通过这个可以测试自己注册的广播,到底有没有成功
举例:adb shell am broadcast -a “send_by_frank_test” (发送一个广播send_by_frank_test)

删除文件/文件夹(机器里面的)

adb shell(进入机器)
cd sdcard(进入机器中的文件夹)
ls(查看当前目录下所有文件)
rm -r fileName(删除的文件名字)

把文件复制进机器

(很多时候不能复制进入,用豌豆荚也不行,鬼知道是什么bug)
adb shell?nonono 千万不要进入机器了,根本不用进入机器(进入了机器再复制,会报错device not found)
adb push <本地路径> <远程路径>
adb push D:\test\fileName /sdcard/iflytek(这个文件夹如果没有,就会新建,也不要用第三方的新建,出了bug自己慢慢坑里躺着吧)(Windows下可以直接把文件拖到cmd窗口就可以了,然后加上要复制进机器的路劲即可)

把文件从机器复制到电脑

adb shell?你进入了机器进行adb push同样会报错error:device not found
adb pull /sdcard/iflytek/ D:\testpull\(电脑上面的文件夹需要提前新建好)

重启机器

(很多时候,你装了某些东西,就需要这个,机器重启多麻烦,直接adb)
adb reboot

清空cmd消息

直接敲出cls命令,然后enter

显示系统程序清单

adb shell ls /system/app/
系统程序的清单就可以看到了。安卓系统程序通常都在system/app目录,如果您的设备目录有所不同就更改成自己的目录即可。清单显示后可以对照删除列表(自行搜索)选择需删除的程序。

挂载读写权限

删除程序前需先挂载系统的读写权限,输入:adb remount回车,如图显示就说明挂载成功了,如果出现这样:remount failed: Operation not permitted 的话(参考链接1 参考链接2)我用的参考链接2,在adb remount之前用adb root

返回上一目录和退出

exit退出整个shell环境
cd .. 在shell环境中返回上一目录(注意:cd和..之间必须有空格,不然你会以为这个命令是不是错的)
cd / 返回到shell根目录

切换用户

su
切换到root权限
一般adb shell 进入的是shell@aries:/ $
用了su,就会进入到root模式:su

这里写图片描述

ADB IDEA插件

这个只对Android Stduio用户有效
这里写图片描述

删除系统预装软件

如果系统预装了,我们想要调试的app,这时候在IDE里面执行run是不能安装到我们的机器上面的,必须先root删除该app后才能安装。
必须先获取root权限,这里不是用命令获取的root(用adb命令个人觉得挺麻烦的,那么多命令我也记不住),直接用工具挺方便的:ROOT精灵(比流氓360好用)
然后
adb shell(记住查看前面是不是root,不是就用命令su切换成root)
cd system
(一般在app和priv-app两个目录下是预装软件)
cd app
cd priv-app
进入这两个目录,删除你所想删除的系统预装软件就可以了。
命令是:rm -r 文件名/文件夹名
这个时候,我们可以还需要reboot(在adb shell里面,直接用reboot就可以了,不在shell环境中,需要adb)
然后,就可以用Eclipse安装刚才移除的系统预装软件了。(不过这个时候,不是安装在app或者priv-app下面了,而是在/data/app里面[外部安装的app,都是在这里])

adb无法用杂么办

参考链接
adb使用的时候,必须占用5037端口,如果被豌豆荚、Eclipse、360手机助手等等等等占用了,就无法使用了,这个时候,就必须在“任务管理器/详细信息”结束占用5037的进程,这时候adb使用就正常了。

0 0