android 中的adb命令的使用

命令语法

命令的基本语法: adb [-d | -e | -s < serialNumber > ] < command >  

如果只有一个设备/模拟器连接时,省略可以掉[-d|-e|-s ]这一部分,直接使用adb

以上命令中-d,-e,-s的含义:  

-d:以当前唯一同构USB连接的设备为目标  

-e:以当前唯一运行的模拟器为命令目标  

-s:指定相应serialNumber号的设备/模拟器为命令目标

①.查看连接设备的adb命令 :  adb devices

②获取连接设备屏幕的分辨率: adb shell wm size  如果有多个设备连接的话,可以通过上面的-d,-e,-s中的其中一个,来具体的指定是哪个设备,adb命令例如: adb -s cf264b8f shell wm size(获取设备号为 cf264b8f 的屏幕分辨率)

以 root 权限运行 adbd

     adb 的运行原理是 PC 端的 adb server 与手机端的守护进程 adbd 建立连接,然后 PC 端的 adb client 通过 adb server 转发命令,adbd 接收命令后解析运行。所以如果 adbd 以普通权限执行,有些需要 root 权限才能执行的命令无法直接用 adb xxx 执行。这时可以 adb shell 然后 su后执行命令,也可以让 adbd 以 root 权限执行,这个就能随意执行高权限命令了。-------通俗的说,就是有些命令会因为你权限不够而无法运行,这时候就需要这么办:

命令: adb root        怎么看是否adb root成功了呢?  命令:adb shell  如果是以下这样:

android 中的adb命令的使用_第1张图片
adb root成功的证明

看到这个#号了吗,运行adb shell 之后有这个#号,说明root成功了

无USB线怎么连接设备

    开发的时候如果没有USB线怎么办?如何通过adb连接电脑和开发设备?

①.    将设备和电脑连接于同一局域网

②.    打开手机/开发板/硬件的 设置 -> 关于设备 -> 状态信息 -> IP地址    可看到一串数字,例如:10.1.111.11

③.    Androidstudio进入Terminal,运行命令:    adb connect + IP地址:端口号

例如:adb connect 10.1.111.11:2222

如果连接成功:

android 中的adb命令的使用_第2张图片
通过adb命令连接开发设备成功

④.    断开连接怎么搞? 命令:    adb disconnect 10.1.111.11:2222

将文件从电脑上发送到手机(硬件)上

 ①.    进入到电脑的相应文件夹下 

 ②.    运行命令 adb push xxx.apk mnt/sdcard 

将文件从手机(硬件)上,拉取到电脑中

①.    产看设备上的文件路径

②.    运行命令 adb pull 文件路径  保存到电脑的路径   

        例如:adb pull /mnt/sdcard/xxx.mp4 /Users/xudewei/Desktop/

查看屏幕的信息

①.    查看连接设备屏幕的分辨率: adb shell wm size 

②.    查看屏幕密度,即屏幕密度是多少dpi: adb shell wm density


android 中的adb命令的使用_第3张图片

adb查看应用列表

命令格式:adb shell pm list packages [参数]

具体参数的信息以及说明:

android 中的adb命令的使用_第4张图片
参数说明

例如:

①.    显示所有应用信息    adb shell pm list packages

②.    显示系统应用    adb shell pm list packages -s

③.    显示三方应用    adb shell pm list packages -3

安装apk

命令格式:    adb install [参数] 

例如想把电脑上的apk文件直接安装到设备上:     

adb install /Users/xxxxxx/Desktop/xxxx.apk(这个路径是apk在电脑上的路径)

android 中的adb命令的使用_第5张图片
安装apk参数


卸载应用(以360为例子)

    卸载命令:    adb uninstall 应用包名(com.qihoo360.mobilesafe)

    清除应用的数据和缓存:    adb shell pm clear 应用包名(com.qihoo360.mobilesafe)


查看系统分配内存以及修改配置

 ①.    adb shell

 ②.    cat /system/build.prop | grep "dalvik.vm"


android 中的adb命令的使用_第6张图片
内存分配图

如果想改变一下设备分配的内存,该怎么改?在上面的步骤前提下

①.    命令:    mount -o remount rw system/

②.    命令:    busybox vi system/build.prop

修改以下的内容:

```

dalvik.vm.heapstartsize=16m

dalvik.vm.heapgrowthlimit=192m

dalvik.vm.heapsize=512m

```

修改步骤:

1.按 esc,确保都是英文输入法,按上下方向键定位到要修改的地方

2.按 i 进入编辑模式

3.改好了 esc,然后输入 :wq 保存退出


使用adb命令和应用进行交互

①.    打开指定包名下,指定activity的界面,如果启动界面需要参数的话,并携带参数过去

命令格式:    am start -n 包名/.要启动的页面的名称 --es 参数名 要携带的参数

例如:    现在要打开的界面的包名是com.sensetime.123,要开启的界面是MainActivity,要携带的参数是String类型,名称是USERID,那么写法就是:

am start -n com.sensetime.123/.MainActivity --es USERID "123456"

这里面的 --es 代表的是String类型的,其他类型在这:


android 中的adb命令的使用_第7张图片
携带参数的含义

发送广播

命令格式:    adb shell am broadcast [options]

可以向所有组件广播,也可以只向指定组件广播。

例如,向所有组件广播 BOOT_COMPLETED:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

又例如,只向 com.sensetime.123/.BootCompletedReceiver 广播 BOOT_COMPLETED:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.sensetime.123/.BootCompletedReceiver

欢迎关注 [懒人漫说] 公众号,分享Java、Android、C/C++ 技术,

包括基础、自己遇到的问题解决过程。


![懒人二维码.png](https://upload-images.jianshu.io/upload_images/11375571-053151cd77e80166.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

当然如果关注并留言问题的话,我们力所能及的话会帮你解决并回复哟。我们和你一样,是正在成长的程序员,我们也会分享自己的成长路上的感想,希望可以和你一起努力成长。

你可能感兴趣的:(android 中的adb命令的使用)