android adb使用

来源:互联网 发布:mac用photoshop 编辑:程序博客网 时间:2024/05/05 08:00

参考:

Android Debug Bridge:https://developer.android.com/studio/command-line/adb.html

adb shell 命令详解 : http://blog.163.com/hero_213/blog/static/3989121420115915014721/

文档:adb简介 - https://wiki.cyanogenmod.org/w/Doc:_adb_intro/zh-cn


######################################################################################3


之前就已经知道了adb,但是并没有了解过。这一次趁着开发android系统,需要测试CPU的占用率,好好看看adb的用法。发现确实能够提升开发的幸福感。


当前使用系统:Ubuntu 14.04.5 LTS



adb存放在android-sdk开发包的platform-tools文件夹内

我的android-sdk开发包路径:

/opt/android-sdk-linux/platform-tools


在该目录下可以直接运行adb,或者将该路径添加到PATH环境变量中:

sudo gedit /etc/profile
在profile文件最末添加(另起一行):

export PATH=/opt/android-sdk-linux/platform-tools:$PATH
注意:使用你自己的路径

保存后刷新:

source /etc/profile
即可在任意路径下使用adb


##################################################################################

adb的用法很多,能够实现很复杂的功能。我还没有深入了解adb,所以仅在这里记录一些觉得会有效提升开发效率的用法


1.从pc发送 文件/目录 到手机;

2.从手机上传 文件/目录到pc;

3.远程安装apk;

4.远程卸载apk;

5.实时监控apk的CPU占用率;

6.实时监控apk的内存使用率;


7.在多个手机/模拟器(Emulator)情况下如何对某一个设备进行操作


################################################################################3#


如何启用调试?


如果想要在手机上启用USB调试,那么你的手机必须设置开发者选项(Developer options)中的USB调试(USB debugging)选项


自从Android 4.2开始,开发者选项(Developer options)默认是不可见的,所以你在系统设置中是找不到的。如果想要打开,可以进入设置(Settings)-> 关于手机(About phone),连续点击版本号(Build number)7下。


我的开发手机是小米5,所以点击设置 -> 关于手机中的MIUI版本选项:



点击7次过后会提示你已经打开开发者模式。小米手机的开发者选项在设置 -> (系统和设备)更多设置中:



进入开发者选项,打开开启开发者选项和USB调试选项即可:



这样,adb就可以对你的手机进行操作了


自从Android 4.2.2开始,当你对手机设置完USB调试后,使用usb线连接到开发电脑,手机上会弹出一个对话框:



询问你是否接受使用这台计算机进行调试。点击确定即可


查询设备/模拟器实例


使用devices命令可以查看已连接的设备/模拟器


打开一个Terminal:Ctrl+Alt+T

输入adb devices,将会列出所有已连接的手机/模拟器

输出格式是

序列号(serialNumber) 状态(devices)


以下是几种即可出现的情况


上图表明没有任何设备和电脑连接



上图表明出现了一个设备,但是设备状态是unauthorized,其实就是允许USB调试中的最后一步未完成,在手机上点击确定即可。

如果这个对话框已经消失,有两种解决方法:

1)重新连接USB线和手机;

2)在开发者选项中重新开启USB调试

使用上面其中一个方法,对话框就会重新出现,点击确定即可。



上图表明,有一个设备已经连接上了电脑,可以开始adb调试了


开始/结束adb服务器


开始adb服务器

adb start-server

或者


表明已经开启


有时候,adb服务器对命令并不响应,那么你可以需要重新启动adb服务器

关闭adb服务器

adb kill-server

或者


表明adb服务器并未开启


#######################################################################


ADB语法(Syntax)


可以在脚本或者命令行中使用adb命令,通用命令格式为:

adb [-d|-e|-s <serialNumber>] <command>

如果仅有一个模拟器或者仅有一个手机连接,那么adb命令默认被发送到该设备上。此时可以命令格式为:

adb <command>

如果有多个模拟器或者多个手机被连接,那么需要通过参数-d,-e或者-s来指定目标设备。


在下面的命令介绍中,默认仅有一个设备被连接在电脑上,最后在给出多个设备情况下的方法


###################################################################################3


远程操作Android系统


手机和pc连接成功后,我们可以打开一个远程终端,直接操作Android系统


使用shell命令即可:

adb shell


常用的linux操作命令同样可以在Android系统上实现,比如ls,pwd,cd,mv,cp等


也可以在本地操作Android系统,格式为:

adb shell [shellCommand]


更多有用的信息:

ADB Shell Commands:https://developer.android.com/studio/command-line/shell.html



退出远程终端有两种方式:

1)快捷键:Ctrl+D

2)命令exit


####################################################################################


1.从pc发送 文件/目录 到手机


使用push命令即可,格式为:

adb push <local> <remote>

<local>表示本地路径

<remote>表示手机路径


note:我们在手机上看到的文件路径一般为:/mnt/sdcard/或者/storage/emulated/0/(目前还不了解这两个的关系,不过这两个都是指向同一个地方)


发送文件:

adb push all.png /mnt/sdcard/
更改名字:

adb push all.png /mnt/sdcard/1.png


发送文件夹(连带着子文件夹一起发送):

adb push hello/ /mnt/sdcard/
同时修改文件夹名:

adb push hello/ /mnt/sdcar/hi
仅复制文件夹内的文件到指定目录:

adb push hello/* /mnt/sdcard/aaa/


2.从手机上传 文件/目录到pc

使用pull命令,格式如下:

adb pull <remote> <local>


3.远程安装apk


使用install命令,格式为:

adb install <path-to-apk>


其中<path-to-apk>表示一个本地apk的路径


例如:

adb install HelloWorld.apk
如果你的手机上已经存在,那么会提示你该apk已经安装在手机上



安装成功也会出现提示




4.远程卸载apk

卸载apk需要手机已经root,我的目前还没有,所以没有尝试过

有两个不错的链接:

android cmd adb命令安装和删除apk应用:http://blog.csdn.net/xpsharp/article/details/7289910

adb uninstall卸载apk文件说明:http://blog.csdn.net/flydream0/article/details/7452136



5.实时监控apk的CPU占用率

6.实时监控apk的内存使用率


这两个功能还没有透彻的理解,给出链接供参考:

windows下使用adb工具查看android程序cpu和内存消耗情况:http://blog.csdn.net/grafx/article/details/22533035?utm_source=tuicool&utm_medium=referral

Android使用adb查看当前设备运行进程CPU内存等资源的使用情况:http://blog.csdn.net/meteorluoyidong/article/details/49632797

查看android程序的CPU和内存消耗情况:http://www.360doc.com/content/14/1008/15/16319846_415269900.shtml



7.在多个手机/模拟器(Emulator)情况下如何对某一个设备进行操作


上面的操作都是基于单个模拟器/手机的情况,有时候可能会有多个模拟器/手机,这时,我们在进行adb调试,就必须指定某个设备


使用参数-s即可,格式如下:

adb -s <serialNumber> <command> 

<serialNumber>表示设备序列号,可以通过命令adb devices查看


所以如果有多个设备,那么每次执行命令时均加入-s <serialNumber>即可指定设备


##################################################3


上面讨论了一些adb的简单使用,这些功能也都已经在Android Studio实现,所以还是得好好搞懂AS


现在adb不仅可以通过USB进行调试,它还支持Wi-Fi调试:

Wireless usage:https://developer.android.com/studio/command-line/adb.html#wireless


0 0
原创粉丝点击