您的位置:首页 > 其它

常用ADB命令

2016-05-21 00:00 309 查看
摘要: 写给自己看

来自我的简书:http://www.jianshu.com/p/c5dde71b96ad

1、
adb version

查看ADB版本信息。

2、
android list targets

显示SDK中所有的Android平台信息。
列出来的是SDK里面安装的所有版本的API信息,每两个版本之间以
------
进行分隔。
输入例子如下:

id: 8 or "Google Inc.:Google APIs:23"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 1
Description: Android + Google APIs
Based on Android 6.0 (API level 23)
Libraries:
* com.android.future.usb.accessory (usb.jar)
API for USB Accessories
* com.google.android.media.effects (effects.jar)
Collection of video effects
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
Tag/ABIs : no ABIs.

3、
adb install [-lrtsdg] <file>

安装
APK
文件。

ArgsDescription个人理解
-l
forward
lock
application
锁定当前
file
-r
replace
existing application
替换已存在的,会保留数据
-t
allow
test
packages
允许调试
-s
install application on
sdcard
安装到
SD
-d
allow version code
downgrade
允许低版本覆盖高版本
-g
grant
all runtime permissions
授予所有
runtime
权限
4、
adb push [-p] <local> <remote>

拷贝
file/dir(官方如是说)
到设备

ArgsDescription个人理解
-p
to display the transfer
progress
显示拷贝进度
注:
adb install
是将
APK
安装到
data/data/
目录下,作为普通用户应用软件。
adb push
不是安装命令,它是将
file/dir
写入设备的存储系统中;因此,只要有相应的权限,就可以将文件放到任何目录下,当然也就能将
APK
文件
push
system
目录下,作为系统应用程序。

5、
adb pull [-p] [-a] <remote> [<local>]

从设备拷贝
file/dir(官方如是说)
local
指定的目录。

ArgsDescription个人理解
-p
to display the transfer
progress
显示拷贝进度
-a
means copy timestamp and mode复制时间戳和模式(这个a对应哪个单词?)
6、
adb remount

重新挂载系统分区,使系统分区可读写。

7、
adb shell

进入
shell
命令模式。

8、
logcat | grep "TAG"

shell
命令模式下查看
TAG
日志

9、
adb uninstall [-k] <package>

卸载APK。

ArgsDescription个人理解
-k
means
keep
the data and cache directories
保留当前
APP
的数据和缓存目录
10、
rm *.apk

shell
命令下删除文件。

11、
adb shell df

查看系统盘符和大小。如:

FilesystemSizeUsedFreeBlksize
/dev224.1M80.0K224.1M4096
/sys/fs/cgroup224.1M12.0K224.1M4096
/mnt224.1M0.0K224.1M4096
/system1.5G873.7M614.2M4096
/data1.7G293.4M1.4G4096
/cache248.0M156.0K247.8M4096
/protect_f5.8M56.0K5.8M4096
/protect_s5.8M52.0K5.8M4096
/nvdata27.5M864.0K26.6M4096
/storage224.1M0.0K224.1M4096
/mnt/runtime/default/emulated1.7G293.4M1.4G4096
/storage/emulated1.7G293.4M1.4G4096
/mnt/runtime/read/emulated1.7G293.4M1.4G4096
/mnt/runtime/write/emulated1.7G293.4M1.4G4096
12、
adb shell pm list packages -f

输出所有已安装的应用。
这条命令在
shell
也可以使用:
pm list packages -f

输出例子如下:

C:\Users\Shawn>adb shell pm list packages -f
package:/system/priv-app/FMRadio/FMRadio.apk=com.android.fmradio
package:/system/plugin/PrivacyProtectionLock/PrivacyProtectionLock.apk=com.mediatek.ppl
package:/system/vendor/operator/app/Litres/Litres.apk=ru.litres.android
package:/system/app/Uicc2Terminal/Uicc2Terminal.apk=org.simalliance.openmobileapi.uicc2terminal
package:/system/priv-app/TelephonyProvider/TelephonyProvider.apk=com.android.providers.telephony
package:/system/app/AdupsFotaReboot/AdupsFotaReboot.apk=com.adups.fota.sysoper
package:/system/vendor/operator/app/Vkontakte/Vkontakte.apk=com.vkontakte.android

13、
adb shell input keyevent
+
Code

模拟按键输入。部分按键
Code
如下:

CodeAction
82menu
3home
19up
20down
21left
22right
66enter
4back
14、
adb shell input touchscreen swipe <x1> <y1> <x2> <y2>

模拟滑动输入。

ArgsDescription
x1
起点
x
坐标
y1
起点
y
坐标
x2
终点
x
坐标
y2
终点
y
坐标
输入举例:
adb shell input touchscreen swipe 18 665 18 350


15、
adb shell am start -n 包名/包名+类名

启动
Activity

举例如下:
adb shell am start -n com.android.music/com.android.music.MusicBrowserActivity


16、
adb shell screenrecord <file>

录制屏幕。
举例如下:
adb shell screenrecord /storage/emulated/demo.mp4


17、
adb shell dumpsys

输出所有
Activity
的运行状态。
不建议直接使用,建议配合
shell
下的
grep
命令进行过滤使用。
举例如下:
输入
dumpsys activity activities | grep "mms"

输出

1|root@DEXP:/ # dumpsys activity activities | grep "mms"
* TaskRecord{94182ff #104 A=android.task.mms U=0 sz=1}
userId=0 effectiveUid=u0a11 mCallingUid=u0a11 mCallingPackage=com.android.mms
affinity=android.task.mms
intent={flg=0x10008000 cmp=com.android.mms/.ui.ConversationList}
realActivity=com.android.mms/.ui.ConversationList
Activities=[ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}]
* Hist #0: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
packageName=com.android.mms processName=com.android.mms
launchedFromUid=10011 launchedFromPackage=com.android.mms userId=0
app=ProcessRecord{5f565ae 9179:com.android.mms/u0a11}
Intent { flg=0x10008000 cmp=com.android.mms/.ui.ConversationList }
frontOfTask=true task=TaskRecord{94182ff #104 A=android.task.mms U=0 sz=1}
taskAffinity=android.task.mms
realActivity=com.android.mms/.ui.ConversationList
dataDir=/data/user/0/com.android.mms
TaskRecord{94182ff #104 A=android.task.mms U=0 sz=1}
Run #0: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
mResumedActivity: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
mFocusedActivity: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: