Android中使用的shell命令

sdk 专栏收录该内容
22 篇文章 0 订阅

首先说明一下,使用这些命令的时候,需要运行当前当前项目或者连接当前设备到控制台又或者直接在手机上下载一个终端模拟器,直接在手机上操作即可

**第一个**:查看当前运行应用的当前activity的信息,命令:adb shell dumpsys activity top  示例图:如下

这里写图片描述
同时可以使用命令将信息输入到txt文本信息当中,并开启文本信息,命令如下
adb shell dumpsys> info info.txt
start info.txt 输入以上2个命令即可

使用Dumpsys命令来分析系统状态,可以参考如下网址:
https://source.android.com/devices/input/dumpsys.html
adb shell dumpsys * 常用的如下:
activity 显示所有的Activity信息
meminfo 内存信息
battery 电池信息
package 包信息
wifi 信息wifi信息
alarm 显示alarm信息
procstats 显示内存信息

第二个:查看指定包名应用的详细信息(相当于应用的AndroidManifest.xml中的内容),命令如下:adb shell dumpsys package [pkgName] 案例图如下

这里写图片描述

**第三个:**查看指定进程名或者进程id的内存信息 命令如下:adb shell dumpsys meminfo [pname/pid]

**第四个:**查看指定包名应用的数据库存储信息(包括存款的sql语句) 命令如下:adb shell dumpsys dbinfo [packagename] 实例如下:
这里写图片描述

**第五个:**5.0:ctrl+c或者exit 退出cmd或者powershell编辑
5.1:安装应用包apk文件 用法:adb install [apk文件]
5.2:覆盖或升级相同应用包apk文件 用法:adb install -r [apk文件]
5.3:卸载应用 用法:adb uninstall [packagename]
5.4:将设备中的文件放到本地 用法:adb pull 示例:adb pull /sdcard/Pictures/11.jpg D:\gif 将手机中11.jpg的图片放置到电脑d盘中gif文件下
5.5:将本地文件放置到设备中 用法:adb push
5.6:截屏操作(截取设备当前操作的界面) 用法:adb shell screencap -p 截图文件路径 示例如下:

	//截取当前图片保存在sd中 并命名为tmp
    adb shell screencap -p /sdcard/tmp.png
    //将设备中sd卡中的tmp.png图片传送到电脑d盘中
    adb pull /sdcard/tmp.png D:\
    //将d盘中tmp.png的图片直接打开 
    start D:\tmp.png
5.7:录屏操作  再也不用借助另外一台手机拍视频了  直接把当前设备的操作保存下来  用法:adb shell screenrecord 视频保存地址   示例如下:adb shell screenrecord /sdcard/tmp.mp4
5.8:输入文本内容  用法如下:让输入内容的文本框获取焦点  然后运行下面命令,即可将内容填充到文本框中   命令如下:adb shell input text[需要输入文本框内容]
5.9:查看设备中可以被调试的应用的进程号(查看进程数)  用法:adb jdwp
5.10:清空指定包名应用数据  用法:adb shell pm clear [pkgname]

**第六个:**查看当前运行应用程序日志
6.1:查看所有打印出来的日志信息 用法:adb logcat
6.2:查看某个标签名的日志信息 用法:adb logcat -s tag 示例如下:adb shell -s tag 查看标签为tag的日志
6.3:查看包含某个关键字或者进程名或者包名下的日志 用法:adb logcat |findstr pname/pid/keyword 示例如下:adb logcat |findstr com.android.coolweather
6.4:将日志输出到文件 用法:adb logcat -f 文件名
6.5:输出某一级别的日志 用法:adb logcat *:级别(注意:星号后面有个冒号)

**第七个:**从第七个以后的命令,都需要先运行adb shell,然后在运行操作命令
7.1:安装设备中的apk文件,功能和adb install一样, 用法:pm install [apk文件]
7.2:卸载设备中的应用 用法:pm uninstall [packagename]
7.3,启动一个应用 用法:am start -n [包名]/【包名】.[活动(activity)名称] 示例如下:am start -n com.android.coolweather/com.android.coolweather.ManiActivity 此时就会直接开启应用的主Activity 但是需要注意:这时候会有一个报错:java.lang.SecurityException:Permission Denal权限问题 解决方案:需要我们在启动的Activity设置熟悉为:exported=true 允许外界访问
7.4:启动一个服务 用法:am startservice -n [包名]/[包名].[服务名(service)]
7.5:发送一个广播 用法:am broadcast -a [广播动作]
7.6:查看当前应用的CPU消耗情况 用法:top [-n/-m/-d/-s/-t] 含有如下:-m //最多显示多少个进程
-n //刷新次数
-d //刷新间隔时间(默认是5秒)
-s //按哪列排序
-t //显示线程信息而不是进程 示例如下: top -d 1 -m 10

**第八个:**操作apk命令 查看AndroidManifest信息
8.1:查看apk中的信息以及编辑apk程序包 用法:aapt dump xmltree [apk包] [需要查看的资源文件xml】 首先需要注意:配置aapt工作环境(build-tools/版本号) 示例如下: aapt dump xmltree demo.apk AndroidManifest.xml > xml.txt
start xml.txt 输出并打开文本文件 查看applicationName的信息

		或者使用aapt dump badging *.apk可以查看这个apk文件的程序名、包名、所用的sdk,程序版本以及权限信息等等
		8.2:查看一个dex文件的详细信息    用法:dexdump[dex文件路径]

图片描述

**第九个:**window下控制台上使用grep过滤
安装grep 程序包 配置环境 地址如下:http://www.interlog.com/~tcharron/grep.html
9-1:过滤日志等级
adb logcat example:E (意思为过滤tag为example的Error级别数据)
adb logcat example :E implement:I (意思为过滤标记为example的级别大于E 并且标记为implement的级别为I的数据)
adb logcat *:E (意思为过滤Error级别的数据 不用管tag)

       9-2:过滤日志中包含的数据
               adb logcat | grep  sss   (过滤日志中包含sss的所有信息)
               adb logcat | findstr "sss" (找到日志中包含sss的信息)
		
		9-3:输出日志到固定的文件
		        adb  logcat  > C:\Users\Administrator\Desktop\LOG.txt  (意思是输出到桌面的LOG.txt文件)

以上:以后还会继续修正

  • 1
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值