Android中常用的adb shell命令手机内存大小怎么看「Android中常用的adb shell命令」

   日期:2025-04-24    作者:chinayema 移动:http://nu1ol.zybear.com/mobile/quote/1174.html

注意事项

 

参考文章
https://github.com/mzlogin/awesome-adb

设置adb环境变量

 

(注意不要adb.exe
##检测环境变量

 

进入shell
adb shell
如果有多个设备怎么办?
adb devices查看你的设备;
adb -s xiaomi shell:-s命令表示选择设备,这里是选择xiaomi设备进shell
ls查看文件

 

Linux的文件基本上分为三个属性:可读®,可写(w),可执行(x)。
对rwxr-xr-x 的解读:
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。
命令中r=4,w=2,x=1,比如

 

ls -a 列出当前目录下的所有文件

##cd切换路径
cd /mnt/sdcard 切换到内存卡
mount挂载
mount -o remount,rw /system 将/system目录挂载,设置为可以读写
实例

 

如果出现mount: Operation not permitted说明没有root权限

su获取ROOT权限
前提是你的手机已经root了
su命令表示切换ROOT用户下运行(就是说你有了root权限啦
下面先获取root,获取root成功的时候$变成了#

 

此时在执行挂载就可以成功

注意:$表示普通权限用户;#表示ROOT权限用户。

cp复制文件

 

如果 cp: not found,说明该手机中cp命令不存在,换cat复制试试

 

右箭头>指明拷贝的方向哈

获取md5值

 

获取一个目录下所有文件的md5

 

chmod修改文件权限
让apk变成可以安装的

 

pm安装apk卸载应用

 

安装应用

 

这个将电脑桌面的Root.apk安装到手机上
有可能不成功,直接看信息,对照英文找原因,比如小米的需要点击允许安装,在比如空间不足,在比如应用已经存在手机上。
卸载应用


(你需要知道应用的包名哈、打开界面、执行如下操作就可以看到包名

 

不用root手机也能够卸载系统应用
这里 --user 0就是以root身份去执行命令

 

启动应用
(1)启动Activity
( 你得知道对应的界面的Activity路径以及包名哈

 

(2)启动service

 
 

查看正在运行的 Services

 

查看正在运行的 activity

 

clear 清除应用数据

 

##cmd下直接使用adb shell命令
如果不进入shell的,如何执行以上命令
cmd下面直接使用adb shell 后面跟上对应的命令就好
比如清除应用数据

 

##电脑输入文字到手机
比如手机要上百度,手机打开浏览器,点击地址栏,输入法切换到英文,cmd命令

 

你会看到手机浏览器的网址变成百度了
文件传输
电脑复制文件到手机
方法1:cmd下面使用push命令

 

将电脑下载里面的Root.apk复制到手机sdcard的goodRoot文件夹下面
方法2:直接使用eclipse里面的File Explorer(对android程序员而言的哈
复制手机文件到电脑

 

导出手机上的app到电脑上
如何导出 一个apk?首先获取包名,然后找到它在手机上的安装路径,接下来拉取到电脑上.首先adb shell dumpsys activity | findstr ResumedActivity获取包名,然后adb shell pm path 包名获取安装路径,接下来adb pull app-path pc-path导出到电脑上。举例子

 

快速获取文件路径
打开cmd,将文件拖进来,你就可以看到文件的路径哈
##eclipse中File Explorer的使用
手机调试模式连接电脑,使用File Explorer可以查看手机文件
root以后的手机可以查看data下面的文件
如果已经root,但是data打不开,使用以下命令
cmd下面

 

(R必须大写,linux命令区分大小写的,cmd命令不区分大小写,shell命令是一种linux命令
点击这里查看chmod 755的含义
##rm 删除命令

 

删除文件夹的时候需要加上-r参数

 

关闭程序

 

一次卸载多个应用

 

将这多条命令写成一个.bat文件,直接点击bat就可以卸载多个应用了。
reboot重启手机

 

cat查看文件
cat error.txt 这个命令可以查看error.txt文件的内容
批量执行多条adb shell命令
adb命令带参数,cmd下面带上参数,先获取su,然后做其他事
演示在cmd下面可以直接使用su权限来删除/system/bin/testa文件和/system/xbin/testb

 

如果是直接一条条执行shell命令将是下面的4条命令

 

如何批量执行多条命令呢
写一个.bat文件,文件内容如下

 

保存为bat文件,直接点击执行.(windows系统下)。
(pause表示不关闭cmd窗口,这样就可以看到执行的结果了
查看进程加载的库
可以根据进程id,查看进程加载了哪些库,cat /proc/pid/maps
kill 干掉进程
adb shell am force-stop
作用:强制关闭一个应用程序
举例:adb shell am force-stop com.lt.test
adb shell am force-stop比使用 kill -9 要方便
参考http://blog.sina.com.cn/s/blog_6294abe70101275q.html
ps可以查看到进程的pid
kill -s 9 pid干掉指定pid的进程
批量干掉进程

 

使用kill -s 9 134,就可以干掉 PID =134. PID =10608. PID =10755三个进程

查看内存信息
看手机内存信息cat /proc/meminfo
查看应用的内存信息 dumpsys meminfo 应用包名
查看应用是否安装
查看应用的安装路径 pm path 应用包名
获取手机上已经安装的所有的程序 pm list packages
过滤grep 和findstr
在windows上直接使用findstr来过滤你想要的信息

 

这个命令找出手机上正在运行并且这个名字包含baidu的进程

 

对应的android或者linux中的shell命令是grep

 

提示 :有的手机上没有grep命令,这时候可以采用findstr;或者往手机里放一个busybox文件,然后使用busybox grep命令,效果一样

高版本上需要加-A否则命令无效

 

查看运行的程序
查看手机正在运行的程序 ps
查看自己的程序是否在运行 ps | grep 应用包名
如果没有grep命令,可以放置一个busybox工具到手机
查看360对应的程序是否在运行 ps | busybox grep m.qihoo*
删除多个文件
cd dir
rm * 删除dir中所有文件
adb获取手机参数
adb获取手机所有参数参考这个
adb shell getprop
adb获取iccid

 

adb获取imei

 

adb获取androidid
androidid藏在这里[net.hostname]: [android-b33f3ac550112627]
命令:getprop net.hostname
adb获取serialno

 

adb获取imei

 

更多信息参考这个
http://stackoverflow.com/questions/27002663/adb-shell-dumpsys-iphonesubinfo-not-working-since-android-5-0-lollipop
使用"读取proc的方式"获取正在运行的进程
// 1,遍历"/proc"文件夹下面的文件夹,其中有些"文件夹名称"就是进程id(PID)
ls /proc
// 2,cat命令获取对应进程的名字(cat /proc/PID/cmdline)
cat /proc/1/cmdline 得到结果/init
查看进程具体的信息
(实例:12073是要查看的进程的PID

 

##通过packages.xml文件查看app安装信息
在/data/system/packages.xml文件中,找到你应用相关内容
我在小米上使用cat /data/system/packages.xml命令得到以下数据

 

显然name就是包名,codePath就是安装的路径
使用shell启动和终止模拟器

 

##多设备选择
adb devices//显示处于调式模式的devices
adb -s emulator-5554 shell//表示选择5554模拟器的进入shell
42.busybox的安装
buxybox
查看进程优先级
假设要查看程序com.test.app.a的进程优先级
adb shell(进入shell
ps|grep com.test.app.a(列出这个进程)

 

cat /proc/28155/oom_adj(获取这个进程的adj值)
adj值则在ProcessList中定义,adj的取值范围[-17,16],取值越大说明优先级越低。adj取值说明参考这里
dumpsys 查看内存,cpu,电量信息
1)查看所有内存信息
命令:dumpsys meminfo
2)查看某个包的内存信息
命令:dumpsys pkg_name
3)查看CPU使用情况、查看你的应用占了多少CPU
命令

 

4)如何查看android cpu是32位还是64位

 

5)查看电量信息
命令:dumpsys battery
参考这里:Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息

findstr 和grep过滤搜索
1)cmd下搜索包名为com.linux.test的进程

 

2)shell下面搜索
先使用adb shell进去,然后使用grep命令过滤

 

##查看最上层成activity名字

 

9.0以上高版本也可以

 
 

##查看activity栈

 
 

##栈顶Fragment

 

##查看最上层窗口信息

 

查看端口

 

这里写图片描述
这里写图片描述

如果查询14752端口被那个进程占用?
(1)16进制39A0=10进制14752
(2)39A0对应的进程ID(也叫uid)是10096
sl local_address remote_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000000000000000000000000000:39A0 00000000000000000000000000000000:0000 0A 00000000:00000000 00:00000000 00000000 10096 0 8887 1 00000000 100 0 0 2 -1
(3)使用ps命令
在android中,uid大于10000的是应用程序创建的用户。
ps的第一列是uid,大于10000的uid会以u0_a开头,10096 显示为u0_a96,最后一列就是进程名。
adb发送广播

 

##通过 ADB Shell 获取 Android ID
https://cherysunzhang.com/2017/04/getting-android-id-from-adb-shell/

 

清除数据和缓存

 

屏幕截图

 

屏幕录制

 

模拟点击

 

查看anr日志

 

日志一般开头是这样的

 

如果过滤你的应用日志?(记得换成你的包名)

查看当前Activity是否销毁

 

将当前的四大组件(Activity,Service,BroadCase,ContentProvider)的存在情况打印到当前目录的activity.txt文件中。然后直接输入activity.txt就可以打开这个文件了。当然用pwd命令可以打印当前目录的路径。

或者直接用下面的命令一步到位,导出到activity.txt文件,同时打开activity.txt文件(Windows系统

 

查看过滤log
显示所有优先级大于等于“warning”的日志

 

批量获取包名、应用版本号

linux

 

windows

 

aab安装
Android App Bundle(aab)是一种分包技术、根据设备分发不同大代码片段、减少无用的代码下载和安装。aab安装到手机分两步、首先是转为apk、然后是安装。
官网参考 https://developer.android.com/studio/command-line/bundletool
工具下载https://github.com/google/bundletool/releases
一条命令将aab安装到手机

 

获取md5值

 

wifi调式

连接设备

断开连接

查看文件和修改文件
创建文件

查看文件用cat

androids shell默认没有vi命令,可以用cat命令修改追加内容

这句意思是往test.txt文件追加内容遇到EOF时结束
接下来输入你要追加的内容,按enter键,最后输入EOF就可以了

 

这样就向文件尾部加上一句hello world world
查询系统信息

获取系统版本

 

获取系统api版本

 

查询安装app版本号

 

网络控制

打开WiFi

 

关闭WiFi

 

打开移动网络

 

关闭移动网络

 

关闭模拟器

 

查看tcp_keepalive_time

 

APP安装位置

查询三星相机安装位置(com.sec.android.app.camera可以换为你想找的app的包名

 

修改手机host文件
1、先备份手机hosts文件到你电脑一个文件下 hosts

 

2、复制一份,再里面增加一行
3、修改后的拷贝到手机

 

4、进入手机

 

5、获取root

 

看到#号表示成功
6、覆盖host

 

7、查看是否生效


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号