Android 常用adb指令记录总结
Posted 红日666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 常用adb指令记录总结相关的知识,希望对你有一定的参考价值。
android 日常开发adb指令记录(不断更新):
注:这里包名均使用com.redsun.phone代替。
一、java -version:
- 查看java安装版本
二、adb shell:
- 查看手机是否连接到PC。
三、将手机中的数据库文件(info.db)复试一份到E盘中:
- adb pull /data/data/com.redsun.phone/databases/info.db E:/
四、<1>将电脑上的某个.APK文件安装到手机上:
- adb install apk安装包在电脑上的路径+apk文件名。
<2>将手机上的某个app卸载。
- adb uninstall com.redsun.phone
五、在dos中变换默认行的路径的话(比如换到D:\\SeeJoPlayer_SourceCode),可以:
- 1、cd D:\\SeeJoPlayer_SourceCode(回车)
- 2、d:
六、Android app签名的时候需要创建密匙库,步骤:
- cmd->keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore,然后按照要求输入信息即可。
七、dos下面直接输入adb无反应:
- 是因为系统PATH没有配置:在系统PATH中添加:D:\\adt-bundle-windows-x86-20131030\\sdk\\platform-tools(假如adb.exe安装在该目录)。然后直接:窗口键+R 输入cmd 然后即可直接输入adb命令即可。
八、adb:
- 直接查看所有信息。
九、adb devices:
- 列出所有连接的移动设备。
十、adb start-server:开启adb ;adb kill-server:杀死adb进程。
十一、通过adb无线连接设备:
- 手机连mac + usb调试打开,输入adb devices 可以看到设备列表.
- 终端输入:adb tcpip 5555:
- 拔掉USB连接线,输入:adb connect <手机ip> :5555
- 如果出现--Connection refused【像华为手机】,
- 那么需要将红框处,选择为MTP(多媒体传输)【前提是保持USB调试是打开的】,才能正确连接上。
- 断连指令:adb disconnect <手机ip>:5555
十三、adb reboot:
- 重启手机。
十四、adb install ***.apk
- 安装apk包
十五、pwd:
- 查看当前目录
十六、adb shell am start -n com.redsun.phone/com.redsun.phone.test.MainActivity:
--es name hongri --ei age 18【传参时加--参考】
- 启动某个安装在手机应用中的某个Activity
十七、
<1>adb shell
<2>pm list package
- 查看手机中所有APP的包名
十八、
<1>adb shell
<2>pm list package grep | tencent
- 筛选查看手机中所有APP的包名
十九、
<1>adb shell
<2>pm list package -f
- 查看apk包安装位置
二十、
adb shell
pm list package -f grep | tencent
- 筛选查看apk包安装位置
二十一、
使用dumpsys命令可以列出Android系统相关的信息和服务状态。配合Linux下的shell命令,如"grep"、 "find"等,可以让dumpsys发挥非常强大的作用。这对性能优化,bug分析是非常有用的。dumpsys支持的命令非常多,这里列举常用的几项如下:
adb shell dumpsys activity activities:
- 查看当前应用堆栈中Activity的情况。
adb shell dumpsys activity activities >record.txt:
- 将生成堆栈中Activity的信息log存储到当前目录下的record文件中
adb shell dumpsys activity | grep com.redsun.phone > /Users/hongri/Desktop/dumpsys/dump_activity.txt
or
adb shell dumpsys activity activities | grep com.redsun.phone > /Users/hongri/Desktop/dumpsys/dump_activity.txt 【堆栈信息看起来更简洁】
- 仅查看当前应用com.redsun.phone的堆栈中的Activity信息,并将其堆栈log存储至箭头后面的文件中。可以通过在该txt文件查找Running activities查看启动了的各Activity,通过查找TaskRecord查看各任务栈中的Activity。
adb shell dumpsys meminfo:
- 查看内存信息
adb shell dumpsys battery:
- 查看电量信息
adb shell dumpsys package:
- 查看包信息
adb shell dumpsys wifi:
- 查看WiFi信息
adb shell dumpsys procstats:
- 显示内存状态
二十二、
adb shell am force-stop com.redsun.phone:
- 杀死当前手机的com.redsun.phone进程的APP
二十三、
<1>adb shell ps:
- 查看手机中所有的进程
<2>adb shell ps | grep com:
- 查看手机中包含com包名的进程
<3>adb shell ps | grep com.redsun.phone:
- 查看手机中包名为com.redsun.phone的进程
二十四(修改手机hosts文件的几种方法)、
方法1:
<1>root手机
<2>在root explorer文件浏览工具中,将system/etc这两级路径都设置成“挂在为读写”
<3>在命令行输入:adb pull /system/etc/hosts
<4>修改hosts文件
<5>adb push hosts /system/etc(个别手机没有完全root,此时可以将该文件 adb push hosts /sdcard 先push到sd卡,然后再从sd卡copy过去)
方法2:
使用root explorer找到system/etc/hosts以“文本编辑器”方式打开编辑即可。
二十五(使获得root的手机获取hosts修改权限)、
adb root 重启adb daemon,使它具有root权限
adb remount 具有读写hosts文件的权限
如果remount不成功,可以重新尝试如下步骤:
1. adb root
2. adb remount
3. adb disable-verity
4. adb reboot
5. adb root
6. adb remount
二十六(查看手机etc文件读取权限及修改读写权限)、
adb shell
su
cd system
ls -l
d rwx rwx --x中:
第一个rwx表示“用户(user)”,即文件或目录的所有者
第二个rwx表示“同组(group)用户”即与文件属主有相同组ID的所有用户
最后--x表示“其他(others)用户”
r 可读
w 可写
x 可执行
chmod 777 data 可通过该指令修改etc读写权限
--------------查看手机cpu信息-----------------
二十七、
adb shell getprop ro.product.cpu.abi
- 查看当前手机arm的版本【如arm64-v8a】
二十八、
adb shell “cat /proc/cpuinfo”
- 查看当前cpu的位数【如包含AArch64,则表示是64位】
二十九、
adb shell dumpsys dropbox --print > /Users/hongri/Desktop/log/redsun.txt
- 抓取设备中dropbox中的崩溃日志信息 至 上面的目录文件中【可通过查看当前设备的crash信息】
三十、
adb logcat -> logcat.txt
- 将AS实时log信息输出至logcat.txt文件中【可从中发掘所需的log信息】
三十一、
adb install 六个选项:
-r:[replace existing application]--替换已经存在的应用程序,即强制安装
-t:[allow test package]--允许安装测试包
-d:[allow version code downgrade]--允许降级安装
-s:[install application on sdcard]--把应用安装到sd卡上
-l:[forward lock application]--锁定该应用程序
-g:[grant all runtime permission]--为该应用授予所有运行时的权限
三十二、
使用adb指令时报错:bash: adb: command not found
情景(一):
第一步:打开Mac终端,切换到用户根目录:
cd ~/
第二步:创建.bash_profile文件(如果该文件存在,此步可省略):
touch .bash_profile
第三步:打开.bash_profile文件:
open .bash_profile
第四步:配置环境变量:
export ANDROID_HOME=/Users/name/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
第五步:使改动生效:
source .bash_profile
情景(二):
有的Mac上面配置完成后,依然会报如下错误:zsh: command not found adb:adb
可以看到差异就是bash与zsh,他们均是shell的一种,且zsh完美兼容bash,并且有比bash更强大的功能,用起来也比bash更优雅。
此解决方式跟bash是类似的,只不过把 .bash_profile 文件改成 .zshrc 文件即可。
三十三、
adb shell pm uninstall -k --user 0 包名:
- 删除系统应用
adb shell pm list packages:
- 查看手机上应用包名
adb shell pm list packages -f:
- 查看手机上apk文件的安装位置
adb shell pm list permissions -d -g:
- 查看危险权限
adb shell ps 或者 adb shell ps | grep 包名:
- 查看进程信息
adb shell am force-stop 包名:
- 强行关闭进程
adb shell pm clear 包名:
- 停止APP进程,并且清除这个APP进程产生的所有数据,相当于reset
三十四、
adb shell getprop ro.product.cpu.abi:
- 查看当前手机CPU类型
adb shell ps | grep zygote:
- 查看系统的zygote进程【64位系统中会同时存在两个zygote进程---zygote和zygote64,分别对应32位和64位应用】
adb shell ps|grep 687【其中687是当前zygote64进程对应的进程id】:
- 查看哪些app是64位应用
三十五、
adb shell am start -a android.intent.action.CALL -d tel:10086:
- 拨打电话
adb shell am start -a android.intent.action.VIEW -d http://www.sohu.com:
- 打开网站
adb shell am start -a android.intent.action.VIEW -d "路由地址"
- deeplink唤端
adb shell am start -a android.intent.action.MUSIC_PLAYER:
- 打开音乐播放器
adb shell am kill com.redsun.phone:
- 杀死指定后台进程
adb shell am kill-all:
- 杀死所有后台进程
adb shell am force-stop:
- 强制杀死进程
adb shell dumpheap 18189 > /Users/zhongyao/Desktop/process:
- 进程pid的堆信息输出到文件中
Intent常用参数:
-a <ACTION>: 指定Intent action, 实现原理Intent.setAction();
-n <COMPONENT>: 指定组件名,格式为包名/.主Activity名,实现原理Intent.setComponent();
-d <DATA_URI>: 指定Intent data URI
-t <MIME_TYPE>: 指定Intent MIME Type
-c <CATEGORY> [-c <CATEGORY>] ...]:指定Intent category,实现原理Intent.addCategory()
-p <PACKAGE>: 指定包名,实现原理Intent.setPackage();
-f <FLAGS>: 添加flags,实现原理Intent.setFlags(int ),紧接着的参数必须是int型;
举例:
am start -a android.intent.action.VIEW
am start -n com.gityuan.app/.MainActivity
am start -d content://contacts/people/1
am start -t image/png
am start -c android.intent.category.APP_CONTACTS
adb shell am startservice com.hongri.recyclerview/com.hongri.recyclerview.service.MyService:
- 启动一个Service
adb shell am stopservice com.hongri.recyclerview/com.hongri.recyclerview.service.MyService:
- 停止一个Service
adb shell am broadcast com.hongri.recyclerview/com.hongri.recyclerview.broadcast.MyBroadcast:
- 发送一个广播
三十六、
Android Studio调试时出现:debug info can be unavailable.Please close other application using ADB: Monitor, DDMS, Eclipse 弹框。
修复指令:adb usb
参考:
以上是关于Android 常用adb指令记录总结的主要内容,如果未能解决你的问题,请参考以下文章