澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:Android常用命令,常用命令

2019-07-14 作者:服务器运维   |   浏览(77)

ubuntu 工作中常用的终端命令,ubuntu终端

lsusb  查询usb设备id       在主目录/.android/adb_usb.ini文件中添加0x****(数字0和字母x)

adb devices      显示当前运行的全部模拟器

adb reboot   重启      adb   reboot  -p    关机

adb install -r 应用程序.apk 安装应用程序(-r 重新安装该程序,保存数据 ;-s安装在SD卡内,而不是设备内部存储)

adb uninstall [-k]应用程序.apk   从设备删除程序包 ( -k 不删除程序运行所产生的数据和缓存目录)

adb  push   xxxx.apk   /system/app   安装xxxx.apk到手机/system/app目录

adb  shell 进入模拟器的shell模式

adb shell pm clean 包名    可以清除 某个包apk的数据,就是相当于清除数据`

busybox   vi  xxxx            shell模式中使用vi

rm -rf xxxx.appk   shell模式中删除xxxx.apk

adb logcat   -c    清空所有的日志缓存信息
adb logcat   -d     将缓存的日志输出到屏幕上, 并且不会阻塞

adb logcat -v process | grep  6666               6666  是进程PIID

adb  logcat |  grep  act=             查看广播和服务

adb logcat | grep -iE "wqtest|qqqq"    打印log中含有wqtest或qqqq的信息

adb pull 手机目录 电脑目录  (电脑目录下执行)  手机文件复制到电脑

ctrl c   终止正在运行的程序

adb shell         ping 192.168.1.128    (手机联网)  检测192.168.1.128 服务器是否有问题

ctrl z   挂起正在运行的程序     jobs查看当前有多少在后台运行的命令  

fg重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.   (bg %jobnumber)

find  a路径  -name    wq*       查找a路径下的wq*文件

adb shell  ps  | grep  systemui    搜索手机中进程名包含systemui的进程

adb  shell  kill   ***    结束手机中进程号为***的进程

ps -aux  (|grep  ***)linux中查电脑进程    sudo  kill  -s 9 ***   结束电脑***进程(-s 9:强制、尽快终止进程)

xkill       选择结束程序(点哪里结束那个进程)

scp  -r   xxx   [email protected]:/work1/    本地文件xxx复制到[email protected]电脑的/work1/目录

scp  -r  [email protected]:/work1/wqtest/z507/ALPS-MP-M0.MP1-V2.84_TOP6737M_65_M0/idh.code/customize/out/Z507HZA_TOPODM_SATPAY_v1.1.15/Z507HZA_TOPODM_SATPAY_v1.1.15_e.mpc      /work1/

复制文件xxx从10.20.31.10服务器到本地/work1/目录(在本地目录输入,而不是在服务器目录输入)

ctrl L    smb://data

adb root    获取管理员权限

adb remount    重新挂载系统分区,使系统分区重新可写

adb   disable-verity     解锁system分区(out/host/linux-x86/bin/目录下有adb)

Log.d("wqtest",Log.getStackTraceString(new Throwable()))    打印堆栈信息

reset   删除之前终端上的显示     clear  向后翻一页

sudo   pkill  Xorg   电脑死机后注销重启

du -sh  *   查看当前路径目录下子文件大小

du -sh 路径   查看此路径文件的总大小

df -h   查看总的使用情况

grep  -rn  “wqtest” /work1   在work1中搜索文件中包含wqtest的文件

locate   *wenqiang*  查询文件地址

git  reset  origin/master     撤销前一个提交的commit值 

git  branch  origin/master   撤销git  add与git  commit

reset  回退标签   checkout  回退目录

抓取mtklog
1)adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start --ei cmd_target 23
2)adb pull /storage/emulated/0/mtklog

关闭mtklog:adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name stop --ei cmd_target 23

adb shell pm -p com.duomi.android   查看在手机中的安装位置(对应的apk)

adb shell pm disable  com.lakala.cloudpos.autoactive

adb shell  am start -n app.standard.com/com.standard.app.activity.ConsumeSuccessActivity    进程名/activity

启动指定的某个activity   (AndroidMainifest中包名为:com.standard.app)
{/(wqtest|CameraActivity)}    vi中查询多个字符串(wqtest或CameraActivity)
adb shell   am   start -n com.android.gallery3d/.app.GalleryActivity    使用组件方式启动相册

adb shell  am  kill-all    杀死全部的后台进程

adb shell  am  broadcast  -a  ***    发送***广播

ctrl shift f    切换汉字简繁体

打包:将一大堆的文件或目录变成一个总的文件   
tar或tgz:(打包:tar  cvf   xxx.tar    xxx)   (解包:tar   xvf   xxx.tar)
压缩:将一个大的文件通过一些压缩算法变成一个小文件   
zip:(压缩:zip   xxx.zip  xxx)  (解压:unzip  xxx.zip)     rar:(解压:unrar x xxxx.rar)

mkdir wqtest:    新建文件夹wqtest     rm    -rf   wqtest:          强制删除文件wqtest

cp  -r   源文件(文件夹)  目标位置                        sudo shutdown 100    电脑在100分钟后关机

连接服务器:   ssh [email protected]    密码:public10

adb shell setprop persist.sys.usb.activation yes    解锁usb调试(有的项目需要插入sim才可以打开调试,做了配置)

adb shell screencap -p | sed 's/r$//' > wqtest.png    对手机屏幕进行截屏,保存在当前文件夹目录下(文件名wqtest.png不用adb pull)

getevent/sendevent    adb shell getevent
getevent用于获取当前系统input设备的一些参数和实时事件的数据(辅助驱动的验证);sendevent用于发送input事件(模拟事件进行上层应用的验证),工具的源码位于Android SDK的system/core/toolbox下面。
adb shell input keyevent keycode  各个key的keycode 可在KeyEvent.java这个类中查到,常用keycode如下:
HOME:3  BACK:4  POWER:26  MENU:82
终端输入:adb shell input keyevent 3     外接设备会执行按home键,返回到主菜单事件
adb shell pm list packages 获得当前系统安装了哪些包
adb shell cat /proc/kmsg/  打印内核信息,对应于驱动程序中的printk语句。

diff [选项]源文件 目标文件    比较两个文件的差异(文件或目录)

|xargs             |  管道是实现“将前面的标准输出作为后面的标准输入”       xargs是实现“将标准输入作为命令的参数”

*#*#3646633#*#*        抓取MTKlog

sudo apt-get update      更新软件列表

sudo apt-get upgrade       更新软件

adb shell setenforce 0 强制关闭selinux防火墙

文件夹中   F3   新开(关闭)一个同目录的文件

gedit   ***.txt   用文本打开***.txt 文件     nautilus     打开终端所在路径对应的文件夹

chmod   777  -R  修改文件权限

已全编过了,但是模块编译时报Error: No /system/build.prop found. Perhaps You can't build all.                    touch out/target/product/tpw8735a_t6/system//build.prop   

touch     更新文件时间命令
java -version   或者   which java
source /work1/code360/Hx6060530/ALPS-MP-M0.MP1-V2.140.3_TOP6737M_65_A_M0/alps/mbldenv.sh
未全编时的模块编译:
加载命令  source build/envsetup.sh
选择平台编译选项   lunch
执行编译   make -j8 USDKService

清除之前编译的可执行文件及配置文件   make clean

清除所有生成的文件     make distclean

adb shell dumpsys activity | grep "mFocusedActivity"    查看最上层的activity

activity     ActivityManagerService     AMS相关信息
package     PackageManagerService     PMS相关信息
window     WindowManagerService     WMS相关信息
input     InputManagerService     IMS相关信息
power     PowerManagerService     PMS相关信息
batterystats     BatterystatsService     电池统计信息
battery     BatteryService     电池信息
alarm     AlarmManagerService     闹钟信息
dropbox     DropboxManagerService     调试相关
procstats     ProcessStatsService     进程统计
cpuinfo     CpuBinder     CPU
meminfo     MemBinder     内存  adb shell dumpsys meminfo (查进程对应的pid号)    adb shell top | grep pid号   动态显示此进程的内存使用情况
gfxinfo     GraphicsBinder     图像
dbinfo     DbBinder     数据库
SurfaceFlinger     图像相关
appops     app使用情况
permission     权限
processinfo     进程服务
batteryproperties     电池相关
audio     查看声音信息
netstats     查看网络统计信息
diskstats     查看空间free状态
jobscheduler     查看任务计划
wifi     wifi信息
diskstats     磁盘情况
usagestats     用户使用情况
devicestoragemonitor     设备信息

一、查看当前显示的Activity
linux:
adb shell dumpsys activity | grep "mFocusedActivity"
windows:
adb shell dumpsys activity | findstr "mFocusedActivity"

1. 如何知道当前Activity的包名:

运行命令:adb shell "dumpsys activity | grep Focuse"

输出:mFocusedActivity: ActivityRecord{41a986b0 u0 com.yulong.android.launcher3/.Launcher t3}

这里的com.yulong.android.launcher3就是包名,后边是主activity

或者:

[图片上传失败...(image-781d48-1517284789568)]

版权声明:本文为LooperJing原创文章,转载请注明出处!

adb 常用命令

adb shell pm list packages -3 // 查看手机里的包名
adb push monkey.script /sdcard/ // 将文件push 到sdcard中
adb pull xxxx ./xxxxx // 将文件pull 到sdcard中
adb shell am force-stop com.xxxx.xxx // 杀掉手机中的进程

adb shell logcat -v time>log.txt // 获取logcat 日志信息
adb shell dumpsys meminfo <进程名> // 获取内存信息
adb shell top -n 1 |find "进程名" // 获取 CPU 消耗信息
adb shell dumpsys battery // 获取电量信息
adb shell dumpsys gfxinfo <进程名> // 获取GPU信息
adb shell cat/proc/uid_stat/<被测应用的uid>/tcp_rcv

获取系统版本:adb shell getprop ro.build.version.release
获取系统api版本:adb shell getprop ro.build.version.sdk

/** 获取被测应用的 UID **/
1、查看被测应用的进程 ID(PID)
adb shell ps | grep <应用包名>

2、查看被测应用的用户 ID(UID)
adb shell cat /proc/$pid/status

二、查看手机分辨率
adb shell wm size
adb shell dumpsys window displays

2. 查看包名和起始activity

[图片上传失败...(image-bf7a3b-1517284789568)]

一、设备相关
  • 1、adb devices
    显示连接到计算机的设备
List of devices attached
be34d81e        device

输出格式为 [serialNumber] [state],state 有如下几种:

列名 解释
nodevice 没有设备/模拟器连接
offline 表示设备未连接成功或无响应。
device 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态
  • 2、进入设备的shell界面
    adb shell
    多个设备情况下:adb -s <设备序列号> shell

  • 3、退出设备的shell界面
    exit

  • 4、adb reboot
    重启设备

  • 5、adb kill-server
    终止adb服务进程

  • 6、adb start-server
    重启adb服务进程

  • 7、adb connect <device-ip-address>
    连接到指定的ip,这个通常配合wifidebug,比如adb connect 127.0.0.1:5037,5037是默认端口号,海马模拟器是adb connect 127.0.0.1:26944

  • 8、adb disconnect <device-ip-address>
    adb disconnect 127.0.0.1:26944

获取 apk 包名即 appPackage 和 appActicity

https://testerhome.com/topics/1030

(一)基础操作

3. 通过包名确定APK的名字:

运行命令:adb shell "pm list packages -f | grep com.yulong.android.launcher3"

输出:package:/system/priv-app/CP_Launcher3.apk=com.yulong.android.launcher3

这里的/system/priv-app/CP_Launcher3.apk即包名对应的APK文件名。

二、应用管理
  • 1、adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
    查看应用列表,pm即PackageManager
参数 解释
-f 显示应用关联的 apk 文件
-d 只显示 disabled 的应用
-e 只显示 enabled 的应用
-s 只显示系统应用
-3 只显示第三方应用
-i 显示应用的 installer
-u 包含已卸载应用
<FILTER> 包名包含 <FILTER> 字符串

比如查看第三方应用:adb shell pm list packages -3

package:apk.wangjing.com.apkpatch
package:apk.wangjing.com.multidex
package:com.example.wangjing.animation
package:com.example.wangjing.eventdispatch
package:com.jcstudio.app.recycle
package:com.jcstudio.app.recycle.recycler
package:com.sunfusheng.StickyHeaderListView
package:com.tencent.mobileqq
package:csdnblog4.example.com.disscrollview
package:csdnblog4.example.com.ndk
package:mall.chenwenxin.com.demo
package:test.volley.com.volley
package:tool.test.memory.memoryleak

比如查看包名带有qq的应用:adb shell pm list packages qq

  • 2、adb install <apkfile>
    安装APK, adb install -r <apkfile> 允许覆盖安装

  • 3、adb uninstall <package>
    卸载APK

  • 4、adb uninstall -k <package>
    卸载APK但保留数据和缓存文件

  • 5、adb shell am start -n <package_name>/<activity_class_name>
    启动APK,am是ActivityManager

  • 6、 adb shell pm clear <packagename>
    清除APK数据与缓存

查看包名字的各种方式

  1. 使用命令 adb shell pm list package
  2. 通过 apk 源码下的AndroidMainfest.xml 文件
  3. 通过 aapt 命令查看
  4. 通过 adb logcat 抓取当前 Android 机运行的 App 的包名

安装app

4. 安装apk

adb install ***.apk 如果已存在则会提示错误

Adb install -r ***.apk

覆盖安装

三、内存、进程相关
  • 1、adb shell dumpsys cpuinfo
    查看CPU信息

  • 2、adb shell dumpsys meminfo
    要获取具体应用的内存信息,可加上包名adb shell dumpsys meminfo PACKAGE_NAME

  • 3、adb shell dumpsys meminfo [package-name]
    查看内存泄露
    详细移步Android性能优化第4篇---Allaction Tracing追踪内存分配的轨迹

  • 4、adb shell top
    查看设备cpu和内存占用情况

  • 5、adb shell top -m 2
    查看占用内存前2的app

  • 6、adb shell ps|grep <package_name>
    查看某一程序进程,如果不用包名也可以写成 adb shell ps |findStr <关键词>

  • 7、adb shell ps -x [PID]
    查看指定进程状态

  • 8、adb shell kill [PID]
    杀死进程

  • 9、adb shell top -n 1
    刷新一次内存信息,然后返回

  • 10、adb shell cat /proc/meminfo
    查看当前内存占用

查看当前Activity的方法

方法一:

1、cmd命令中输入:adb shell 进入shell命令模式

2、shell中输入:logcat | grep ActivityManager 真机运行应用,可以实时 查看当前正在运行的Activity;

I/ActivityManager( 511): START u0 {act=Android.intent.action.INSERT dat=content
://com.example.notepad.provider.NotePad/notes cmp=com.example.android.notepad/.N
oteEditor} from pid 12896

cmp=com.example.android.notepad/.NoteEditor 中,

com.example.android.notepad 是包名, NoteEditor是当前活动的activity;

方法二:

1.cmd命令中输入:adb shell dumpsys activity | grep mFocusedActivity
获取当前顶层activity

adb install -r xxx.apk //覆盖安装,保留数据和缓存文件
adb install -s xxx.apk //安装apk到sd卡
adb install -f xxx.apk //安装apk到内部系统内存
adb install -d xxx.apk //安装低版本Apk
adb install -g xxx.apk //准许Apk manifest中的所有权限
获取安装位置

5. 安装软件时错误提示

INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES签名冲突

将原来apk卸载掉再安装

INSTALL_FAILED_ALREADY_EXISTS应用已经存在

可以用-r来强制安装

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE没有签名或者签名不符合系统要求

源码签名时错误造成的

INSTALL_FAILED_INSUFFICIENT_STORAGE内存空间不足,清理手机存储

更多安装错误:http://blog.sina.com.cn/s/blog_73bed4520101j2f6.html

四、Android四大组件相关
  • 1、adb shell dumpsys activity top
    查看栈顶Activity,可以用来获取包名
用此命令查看QQ的登录界面的结果,可以看到Activity的名字和状态以及这个Activity的视图结构,很厉害的样子。如果只要查看Activity的名字,不要看UI的视图结构,用adb
shell dumpsys activity top |findStr
ACTIVITY,dumpsys系列命令对于Android开发真的很有用的。
  • 2、adb shell dumpsys activity activities
    这条命令会有很长的内容出来,显示当前所有在运行的任务栈,它们的id分别是什么。对于每个Task,也有Activity数量等信息,同时也列出了其中的Activity列表,并且对于每个Activity也有比较详细的描述,比如启动它的Intent的内容。如果觉得内容过多,只想看看栈的内容,也可以直接跳到”Running activities (most recent first)”那部分,比较简洁而又明了的列出了栈中得Activity列表,就能知道当按下返回键的时候会应该会回到哪个Activity以后是要退出程序。

  • 2、adb shell dumpsys activity services [<packagename>]
    查看正在运行的 Services
    <packagename> 参数不是必须的,指定 <packagename>表示查看与某个包名相关的 Services, 不一定要给出完整的包名,可以模糊匹配, 列举相关的 Services,不指定表示查看所有 Services。
    比如查看QQ的Servicer是: adb shell dumpsys activity services com.tencent.mobileqq

  • 3、应用交互
    主要是使用 am <command> 命令,am是ActivityManager,常用的 <command> 如下:
参数 解释
start [options] <INTENT> 启动 <INTENT> 指定的 Activity
startservice [options] <INTENT> 启动 <INTENT> 指定的 Service
broadcast [options] <INTENT> 发送 <INTENT> 指定的广播
force-stop <packagename> 停止 <packagename> 相关的进程
kill-all 杀死后台所有进程
kill <Package> 参数是包名,杀死指定包名的进程
display-size WxH 改变显示的分辨率,有的可能不支持
display-density <dpi> 改变显示的density,有的可能不支持

<INTENT> 参数很灵活,和写 Android 程序时代码里的 Intent 相对应。用于决定 intent 对象的选项如下:

参数 解释
-a <ACTION> 指定 action,比如 android.intent.action.VIEW
-c <CATEGORY> 指定 category,比如 android.intent.category.APP_CONTACTS
-n <COMPONENT> 指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity

比如:打开QQ的注册界面
adb shell am start -n com.tencent.mobileqq/.activity.RegisterPhoneNumActivity

  • 4、查看后台services信息:
    adb shell service list

  • 5、 adb shell dumpsys notification
    获取通知信息

monkey 命令

adb shell monkey -p com.xxx.xxx --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 12358 --throttle 400 --ignore-crashes --ignore-timeouts -v 500000

adb shell monkey -f /sdcard/monkey.script -v 1 //push 脚本到sd卡后,执行脚本,1 是随机事件

adb shell pm get-install-location
卸载app

6. 卸载apk

adb uninstall ***.apk

五、文件相关
  • 1、adb shell cd
    进入某个目录

  • 2、adb shell ls -a
    查看这个目录下的文件

  • 3、adb pull <remote> <local>
    从手机复制文件出来,比如把Crash日志写在SD卡上,再pull到电脑上 或者 pull ANR的trace日志

  • 4、adb push <local> <remote>
    向手机发送文件,比如测试热修复补丁~

  • 5、adb shell rename path/oldfilename path/newfilename
    重命名文件:

  • 6、adb shell rm -r <folder>
    删除文件夹及其下面所有文件:

  • 7、adb shell mv path/file newpath/file
    移动文件

  • 8、adb shell touch .<filename>
    创建一个隐藏文件

  • 9、adb shell makedir <filename>
    创建一个文件夹

  • 10、adb shell cat <file>
    查看文件内容:

  • 11、adb shell cat /data/misc/wifi/*.conf
    查看wifi密码:

  • 12、 adb shell getprop
    读取系统的各种文件配置信息,比如/data/anr/traces.txt

  • 13、adb shell dumpsys package <packagename>
    获得手机里面某个apk的应用信息、版本信息

  • 14、adb logcat -c
    清除log缓存

  • 15、adb bugreport
    查看bug报告

停止运行monkey

adb shell ps | grep monkey
adb shell kill pid

adb uninstall <package>
adb uninstall -k <package> //卸载app但保留数据和缓存文件
重启手机

7. 启动apk

[图片上传失败...(image-67a675-1517284789568)]

六、实用功能
  • 1、 adb shell input keyevent <keycode>
    adb 命令代替键盘操作,不同的 keycode 能实现不同的功能
    keycode 移步:https://developer.android.com/reference/android/view/KeyEvent.html

  • 2、adb shell input text 123
    输入文本在焦点处于某文本框时,可以通过 input 命令来输入文本。现在 123 出现在文本框中。

  • 3、adb shell screencap -p /sdcard/sc.png
    屏幕截图

  • 4、adb shell screenrecord /sdcard/filename.mp4
    录制 mp4 格式的视频保存到 /sdcard

参考链接
http://stormzhang.com/2016/09/08/common-adb-commands/
https://github.com/mzlogin/awesome-adb#查看前台-activity
http://blog.iderzheng.com/debug-activity-task-stack-with-adb-shell-dumpsys/
官方文档地址:https://developer.android.com/studio/command-line/adb.html#wireless

monkey 日志分析

1.Monkey 日志的保存方式

  • 保存在PC中:
    adb shell monkey [option] <count> >d:monkey.txt

  • 保存在手机中:
    adb shell
    monkey [option] <count> > /mnt/sdcard/monkey.txt // 日志会保存在手机SD卡上的一个monkey.txt文件中

  • 标注流与错误留分开保存
    Monkey [option] <count> 1>/sdcard/monkey.txt 2>/sdcard/error.txt // Monkey 的运行日志和异常日志被开保存。

参考书籍 :《腾讯 Android 自动化测试实战》

adb reboot
启动adb服务

8. 结束apk

[图片上传失败...(image-127c7a-1517284789568)]

adb start-server
关闭服务

9. 查看端口

netstat -ano | findstr 5037 通过id杀掉进程 taskkill /pid XXXX /f

通过进程名杀掉进程

Taskkill -F -pid “node.exe”

adb kill-server
进入shell环境

10. 查看所有app的包名

adb shell
su
cd data/data
ls

adb shell
(二)设备信息查看

11. 获取root权限

adb shell setprop persist.tctphone.root 1

查看所连接的设备以及设备所对应的序列号

12. 强制关闭应用

adb shell force-stop com.tcl.mie.manager

adb devices
查看手机CPU架构(eg.ARMv7) 和内核个数

13. 查看某个应用的pid

adb shell ps com.tcl.mie.gamecenter

如果没有就先进adb shell

ps|grep com.tcl.mie.***

[图片上传失败...(image-12cec6-1517284789568)]

adb shell cat /proc/cpuinfo
查看系统的详尽内存信息,包含内核情况

14. Launcher.apk所在系统位置

/system/priv-app/Launcher

adb shell cat /proc/meminfo
获取手机磁盘空间

15. 查看设备分辨率

adb shell dumpsys window displays
adb shell wm size

adb shell dumpsys window|findstr init

adb shell df
获取手机系统版本

16. 查看设备的系统版本

adb shell getprop ro.build.version.release

adb shell getprop ro.build.version.release
获取机器MAC地址:

17. 查看手机的品牌型号

adb shell getprop ro.product.model

adb shell cat /sys/class/net/wlan0/address
查看wifi密码

18. 查看设备imei号:

[图片上传失败...(image-1b911c-1517284789568)] 如果获取不到,就写一个apk,用代码来获取

adb shell cat /data/misc/wifi/*.conf
(三)pm / am相关

19. 查看运行中的monkey

adb shell
su
ps grep|monkey 然后kill pid可直接杀掉monkey

清除应用的数据

20. 用adb控制手机物理按键

adb shell input keyevent 4发送返回指令 3为home

adb shell pm clear <package>
查看App路径

21. adb对手机进行点击滑动操作

adb shell

input tap 200 200#点击操作

input swipe 200 200 500 200#滑动操作

adb shell pm path <package>
查看所有已安装的应用的包名

22. 命令中竖线的意思

上一个命令执行的结果传给下一个命令处理

adb shell pm list packages -f
查看含有“google”字段的应用的包名

23. 指定某个设备shell

Adb -s 设备id shell

adb shell pm list packages google
查看第三方应用的包名

24. Cmd中显示Android运行日志

Adb shell logcat

adb shell pm list packages -3
启动某个应用的某个Activity

25. Adb抓取log

[图片上传失败...(image-19fd22-1517284789568)]

抓取手机的所有log并输出到指定文件中

默认文件地址用start .来打开

只抓取崩溃日志:

adb logcat e>4.txt

能抓取error的log,但手机系统的error也有很多

adb shell am start -n packagename/packagename.activityname
如:adb shell am start -n com.company.appname/ .SplashActivity -es url http://www.baidu.com
//-es表示需传递参数,其中url表示参数名,链接表示具体参数值
拨打电话

26. Adb查看通知栏消息

[图片上传失败...(image-c8f6d5-1517284789568)]

获取短信消息

[图片上传失败...(image-21b77b-1517284789568)]

adb shell am start -a android.intent.action.CALL -d tel:10086
打开网站

27. Trace.txt路径

/data/anr/trace.txt

如果adb pull提示没权限,先在shell中cp复制到sd卡目录,再adb pull拽出来

adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com
(四)进程 / 服务查看

28. Adb发送指令

Adb shell input keyevent xxx

[图片上传失败...(image-946040-1517284789568)]

[图片上传失败...(image-db973d-1517284789568)]

查看进程信息

29. Adb远程控制

  1. 澳门新萄京官方网站:Android常用命令,常用命令。手机上装终端模拟器

  2. 终端模拟器命令 su
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd 然后通过netcfg查看设备ip

  3. 电脑端 adb connect xxx.xx.xx.xx

adb shell ps | grep xxx
查看指定进程状态

adb shell ps -x [pid]
周期性地打印出进程运行队列、系统切换、CPU时间占比等情况

adb shell vmstat
各进程内存使用情况

adb shell procrank
杀死一个进程

adb shell kill [pid]
查看后台services信息

adb shell service list
(五)dumpsys系列

查看当前手机所支持的dump服务

adb shell dumpsys -l
查看包信息 Package Information

adb shell dumpsys package
adb shell dumpsys package packages | grep <package> //查看某个app资源路径
查看内存使用情况

adb shell dumpsys meminfo | grep xxx
adb shell dumpsys meminfo <pid> // 输出指定pid的内存使用情况
adb shell dumpsys meminfo --package <package> // 输出指定包名内存使用情况
adb shell top -m 6 //查看内存占用前6的app
查看栈顶Activity,可以用来获取包名,查看其它app的包名

adb shell dumpsys activity top
查看渲染耗时

adb shell dumpsys gfxinfo <package> > /sdcard/fps.txt
取出文件:adb pull /sdcard/fps.txt /Users/admin/Downloads/1234.txt
查看am的状态

adb shell dumpsys activity
Memory Use Over Time

adb shell dumpsys procstats
(六)文件操作

移动文件/文件夹

adb shell mv path/file newpath/file
新建文件夹

adb shell mkdir path
新建文件

adb shell touch filename
重命名文件/文件夹

adb shell rename path/filename newpath/newfilename
查看文件内容

adb shell cat file
从手机复制文件到电脑

adb pull /data/anr/traces.txt /Users/admin/Downloads/1234.txt
从电脑向手机发送文件

adb push foo.txt /sdcard/foo.txt
(七)log相关

查看日志

adb logcat | grep xxx
日志输出到文件

adb logcat -d > ~/Desktop/logcat.txt //保存到桌面,需要android.permission.READ_LOGS
清除log缓存

adb logcat -c
(八)其他

连接到指定的ip,通常配合wifidebug

adb connect <device-ip-address>
跑monkey

adb shell monkey -v -p <package> 500 // 跑500次
截屏

adb shell /system/bin/screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png ./Dowload/screenshot.png(保存到电脑)
屏幕录制

adb shell screenrecord --time-limit 30 /sdcard/demo.mp4
adb pull /sdcard/demo.mp4 ./Downloads/

本文由澳门新萄京官方网站发布于服务器运维,转载请注明出处:澳门新萄京官方网站:Android常用命令,常用命令

关键词: