adb命令的使用
命令
- 连接机顶盒
adb connect [机顶盒ip]
- 查看已连接设备
adb devices
- 断开某个机顶盒的连接
adb disconnect [机顶盒ip]
or
adb disconnect [虚拟机名称]
- 断开所有设备连接
adb disconnect
- 获取 root 权限
adb root
- 挂载文件系统
adb remount
当想往移动设备端 push 文件时显示没权限,可尝试执行以下指令:
adb root
adb remount
如果还提示 read-only 的话,可继续尝试执行命令:
adb root
adb disable-verity
adb reboot
重启后再 adb remount 即可。
当你想 push 进某一具体路径下的文件夹时可以用: adb shell mount -o rw,remount /路径/路径
注:adb remount 的作用相当于 adb shell mount -o rw,remount,rw /system
- 抓取网络包
(在 cmd 窗口执行命令所在目录下放 tcpdump 文件,抓包时用)
adb shell tcpdump -i any -p -s 0 -w /data/data/capture.pcap
组合键: ctrl + C 可以停止抓包。
- 拉取网络包到本机cmd执行命令当前目录
adb pull /data/data/capture.pcap
- 删除设备中的网络包
adb shell
rm /data/data/capture.pcap
- 获取机顶盒设备信息
adb shell getprop
- 根据 uri 查看 contentProvider 中表信息
adb shell content query --uri [表的uri]
示例:
adb shell content query --uri content://stbauthinfo/authentication
结果如下:
Row: 0 _id=131, name=epg_server, value=http://183.224.21.144:33200
Row: 1 _id=132, name=refreshTime, value=915738
Row: 2 _id=133, name=licence, value=1
Row: 3 _id=134, name=Password, value=969256
Row: 4 _id=135, name=username, value=dsw1878700035901
Row: 5 _id=136, name=user_token, value=tj3kkvhyh0d4yS-StkL2k8844
Row: 6 _id=137, name=platform, value=YNYDHW
Row: 7 _id=138, name=userGroup, value=0
Row: 8 _id=139, name=platformType, value=1
Row: 9 _id=140, name=g_token, value=ee422c5fcf70dda06b3fb295d39ef8b0f5aca34ed45bcb4c
Row: 10 _id=141, name=isSW, value=0
- 根据包名和期启动类名打开应用
adb shell am start -n [pkgId]/[launchClassName]
示例:
adb shell am start -n com.utstar.smartTV/yanhua.tv.activity.Dispatcher
- 设置应用运行时的系统参数
adb shell setprop [自定义参数 key] [要设置的参数对应的 value]
示例:
adb shell setprop debug.ottsdk.config 1
注:设备重启后,设置的参数值会失效;但重启应用不会失效。
- 根据包名杀应用进程
adb shell am force-stop [pkgId]
注意:有的时候不一定能成功。
因为在 android8.1 系统的代码中:
if (app.persistent && !evenPersistent) {
// we don't kill persistent processes
continue;
}
应用中 android:persistent=“true”,true 就不让 force-stop,当然进程也就存在。
那么如果想强制杀可以这样做:找到应用的进程id,然后通过命令 kill -9 [进程id] 可以强制杀进程。
- 进程的名字使用 grep 指令过滤输出 “com.gitv.tv.launcher” 进程的信息
adb shell top | grep com.gitv.tv.launcher
更多相关命令请阅读 adb shell top 命令。
- 清空(清除)Android中的logcat缓冲区
adb logcat -c
建议抓取日志前,执行一遍该命令。
防止抓取多余的日志,保证日志抓取的准确性,方便分析定位问题。
- 查看 cpu 信息
adb shell dumpsys cpuinfo
- 查看系统的 meminfo
adb shell cat /proc/meminfo
相关说明如下:
MemTotal: 688576 kB 总内存
MemFree: 153736 kB 空闲内存
MemAvailable: 339884 kB 可用内存
Buffers: 16 kB 给文件的缓冲大小
Cached: 267672 kB 高速缓冲存储器
SwapCached: 36 kB 被高速缓冲存储用的交换空间的大小
Active: 222900 kB 活跃使用中的高速缓冲存储器页面文件大小
Inactive: 123700 kB 不经常使用中的告诉缓冲存储器文件大小
Active(anon): 31800 kB 活跃的匿名内存(进程中堆上分配的内存,是用malloc分配的内存)
Inactive(anon): 57272 kB 不活跃的匿名内存
Active(file): 191100 kB 活跃的file内存
Inactive(file): 66428 kB 不活跃的file内存
Unevictable: 0 kB 不能被释放的内存页
Mlocked: 0 kB mlock()系统调用锁定的内存大小
SwapTotal: 2097148 kB 交换空间总大小
SwapFree: 2096884 kB 空闲交换空间
Dirty: 0 kB 等待被写回到磁盘的大小
Writeback: 0 kB 正在被写回的大小
AnonPages: 78876 kB 未映射页的大小
Mapped: 28556 kB 设备和文件映射大小
Shmem: 10160 kB 已经被分配的共享内存大小
Slab: 102916 kB 内核数据结构缓存大小
SReclaimable: 49616 kB 可收回slab的大小
SUnreclaim: 53300 kB 不可回收的slab的大小
KernelStack: 4416 kB kernel消耗的内存
PageTables: 6028 kB 管理内存分页的索引表的大小
NFS_Unstable: 0 kB 不稳定页表的大小
Bounce: 0 kB 在低端内存中分配一个临时buffer作为跳转,把位于高端内存的缓存数据复制到此处消耗的内存
WritebackTmp: 0 kB USE用于临时写回缓冲区的内存
CommitLimit: 2441436 kB 系统实际可分配内存总量
Committed_AS: 308028 kB 当前已分配的内存总量
VmallocTotal: 34359738367 kB 虚拟内存大小
VmallocUsed: 179588 kB 已经被使用的虚拟内存大小
VmallocChunk: 34359310332 kB malloc 可分配的最大的逻辑连续的内存大小
HardwareCorrupted: 0 kB 删除掉的内存页的总大小(当系统检测到内存的硬件故障时)
AnonHugePages: 6144 kB 匿名 HugePages 数量
CmaTotal: 0 kB 总的连续可用内存
CmaFree: 0 kB 空闲的连续内存
HugePages_Total: 0 预留HugePages的总个数
HugePages_Free: 0 池中尚未分配的 HugePages 数量
HugePages_Rsvd: 0 表示池中已经被应用程序分配但尚未使用的 HugePages 数量
HugePages_Surp: 0 这个值得意思是当开始配置了20个大页,现在修改配置为16,那么这个参数就会显示为4,一般不修改配置,这个值都是0
Hugepagesize: 2048 kB 每个大页的大小
DirectMap4k: 108416 kB 映射TLB为4kB的内存数量
DirectMap2M: 940032 kB 映射TLB为2M的内存数量
DirectMap1G: 0 kB 映射TLB为1G的内存数量
- 查看电量信息
adb shell dumpsys battery
- 查找应用的 pid
adb shell top | grep [pkgId]
- 查看应用最大内存限制
adb shell getprop|grep heapgrowthlimit
- 分析应用的内存信息(是否存在内存泄漏)
adb shelldumpsys meminfo [pkgId/pid]
adb抓取机顶盒日志
打印设备日志
1.输入“adb logcat -c” 先清理下log
2.输入“adb logcat -v time > 1.log "
3.打开机顶盒,进行各种客户端操作,adb开始抓取盒子上的log。当复现盒子上终端缺陷时,(光标在cmd窗口)在电脑上按Ctrl+C结束adb的抓取工作,在adb的当前目前下就会生成一个1.log的日志文件,通过解析1.log,定位缺陷原因。
相关文章:
adb命令的使用
命令 连接机顶盒 adb connect [机顶盒ip]查看已连接设备 adb devices断开某个机顶盒的连接 adb disconnect [机顶盒ip] or adb disconnect [虚拟机名称]断开所有设备连接 adb disconnect获取 root 权限 adb root挂载文件系统 adb remount当想往移动设备端 push 文件时显…...
springBoot自定义参数类型转换器
springBoot允许用户自定义转换器,以处理自定义请求参数协议。 方式一:通过实现接口:WebMvcConfigurer 并重写方法的形式。 Configuration public class BootConfig implements WebMvcConfigurer {/*** 自定义参数转换*/Overridepublic voi…...
OA系统在企业中的应用你知道哪些?
随着人工智能技术的不断发展,企业中的OA系统(Office Automation System)正在逐渐得到广泛应用。OA系统是一种集成了多种功能的信息化工具,能够帮助企业实现办公自动化、信息管理、决策支持等多种功能。本文将从OA系统在企业中的应…...
JAVA中,ArrayList 的扩容机制,含案例
JAVA中,ArrayList 的扩容机制,含案例 在 Java 中,ArrayList 是一个动态数组,它可以根据需要自动增长。当 ArrayList 中的元素数量超过其初始容量时,它会重新分配一个更大的内部数组,然后将现有元素复制到新…...
供应链的有效管理,分析指标有哪些
对于企业而言,供应链是一个很复杂的、体系化的生态系统,从原材料、到供应商、到生产、仓库、物流,最后到达经销商或者最终客户那里,这个链条很长。相关的分析指标也有很多,在这些指标里面也有非常多可以扩展、延申的内…...
嵌入式环境配置—VMware 软件安装和虚拟机的创建
目录 一、VMware软件的安装 二、虚拟机的创建 三、Linux操作系统的安装 VMware软件的安装 为什么要虚拟机? 嵌入式Linux开发需要在Linux系统下进行,我们选择了Ubuntu。 1.双系统安装 有问题,一次只能使用一个系统。Ubuntu基本只做编译用。需求&…...
阿里前端二面经典手写面试题汇总
实现类的继承 实现类的继承-简版 类的继承在几年前是重点内容,有n种继承方式各有优劣,es6普及后越来越不重要,那么多种写法有点『回字有四样写法』的意思,如果还想深入理解的去看红宝书即可,我们目前只实现一种最理想…...
【Eye】Fake News Reading on Social Media: An Eye-tracking Study
Fake News Reading on Social Media: An Eye-tracking Study Abstract 在网上传播假新闻(以及一般的虚假信息)最近被认为是威胁整个社会的一个主要问题。这种传播在很大程度上是由于新的媒体形式,即社交网络和在线媒体网站。研究人员和从业…...
想学计算机,应该学什么专业?
我们在考虑想学计算机,应该学什么专业?这个问题的时候,每个人都应该结合自己的兴趣来确定。有的喜欢编程、有的喜欢设计、有的喜欢做产品跟人打交道……自己有兴趣再加上自己的努力,掌握好专业技能,就一定能进入高薪的…...
Android逆向之旅—反编译利器Apktool使用教程
apktool下载软件首先下载apktool.bat和apktool.jar官网地址:https://ibotpeaches.github.io/Apktool/install/配置环境变量具体的apktool命令自行百度apktool 解包与打包解包: apktool d xxx.apk打包: apktool b xxx1.jadx安装与使用下载exe或…...
色环电阻的阻值如何识别
这种是色环电阻,其外表有一圈圈不同颜色的色环,现在在一些电器和电源电路中还有使用。下面的两种色环电阻它颜色还不一样,一个蓝色,一个土黄色,其实这个蓝色的属于金属膜色环电阻,外表涂的是一层金属膜&…...
Dataway 让 Spring Boot 不再需要 Controller、Service、DAO、Mapper 简单接口直接开发。
新的sql语法可以先看一下官网,部署起来之后会用到Dataql: DataQL - 数据查询语言https://www.dataql.net/先看一下效果 接下来来实现一下。 1 创建spring boot项目 导入依赖 <!--begin dataWay--><!--hasor-spring 负责 Spring 和 Hasor 框架之…...
C#窗口介绍
窗口就是打开程序我们所面对的一个面板,里面可以添加各种控件,如下图所示,我们可以在属性栏设置其标题名称、图标、大小等。图1 窗口图 图2 设置面板 图3 设置双击标题框,会生成Load函数,也可以到事件里面去找Load函数…...
SpringBoot:SpringBoot整合Junit 和 MyBatis(3)
SpringBoot整合Junit 和 MyBatis1. SpringBoot整合Junit2. SpringBoot整合MyBatis2.1 定义SpringBoot项目2.2 定义dao接口2.3 定义service层2.4 定义controller层2.5 配置yml/yaml文件2.6 postman测试1. SpringBoot整合Junit 在com.example.service下创建BookService接口 publ…...
Web自动化测试框架Selenium
作者:霍格沃兹测试开发学社 链接:https://www.zhihu.com/question/59854292/answer/2827875817 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 什么是自动化测试 自动化测试就是࿰…...
大数据系统自检
第一章 大数据计算系统概述 1.1 大数据计算框架概述 Hadoop Hadoop的运行过程(5个步骤?) split > map > shuffle > reduce > output Hadoop的详细运行过程?(4个大过程,6662) 创建…...
MySQL数据库操作
查看数据库语法show databases——列出所有的数据库 show databases [ like wild ];——列出和字符串wild名字相同的数据库 这里可以配合SQl的 "%" 和 "_" 通配符使用来查找多个数据库在SQL语句中"%"代表任意字符出现任意次数,"_"代表…...
线程安全实例分析
一、变量的线程安全分析 成员变量和静态变量是否线程安全? ● 如果它们没有共享,则线程安全 ● 如果它们被共享了,根据它们的状态是否能够改变,又分两种情况 —— 如果只有读操作,则线程安全 —— 如果有读写操作&am…...
Tomcat源码分析-启动分析(二) Catalina初始化
Bootstrap Tomcat运行是通过Bootstrap的main方法,在开发工具中,我们只需要运行Bootstrap的main方法,便可以启动tomcat进行代码调试和分析。Bootstrap是tomcat的入口,它会完成初始化ClassLoader,实例化Catalina以及loa…...
基础复习第二十二天 泛型的使用
泛型JDK1.5设计了泛型的概念。泛型即为“类型参数”,这个类型参数在声明它的类、接口或方法中,代表未知的通用的类型。例如:java.lang.Comparable接口和java.util.Comparator接口,是用于对象比较大小的规范接口,这两个…...
3分钟搞定HS2-HF Patch:终极游戏增强与汉化解决方案
3分钟搞定HS2-HF Patch:终极游戏增强与汉化解决方案 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为Honey Select 2的日文界面和有限功能而烦…...
在taotoken平台体验官方价折扣并快速开通服务的过程
在 Taotoken 平台体验官方价折扣并快速开通服务的过程 对于初次接触大模型 API 的开发者而言,从注册到获得一个可用的服务端点,过程的顺畅程度直接影响着后续的开发体验。本文将从一个新用户的视角,描述在 Taotoken 平台完成服务开通的整体流…...
中国城市轨道交通协会:城市轨道交通2025年度主要装备统计报告
这份报告由中国城市轨道交通协会发布,统计周期为2025 年 1 月 1 日 —12 月 31 日,覆盖车辆、牵引、制动、信号四大核心装备,呈现市场规模、企业格局、制式结构与年度变化四大特征。一、整体概况运营规模:截至 2025 年底ÿ…...
MAA明日方舟助手:10分钟解放双手,开启全自动游戏体验
MAA明日方舟助手:10分钟解放双手,开启全自动游戏体验 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: h…...
摄影师的智能助手:3分钟学会批量添加专业水印
摄影师的智能助手:3分钟学会批量添加专业水印 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具,后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils semi-utils 是一款专为摄影爱好者和专业摄…...
探索 Taotoken 模型广场如何帮助开发者快速进行模型选型与测试
探索 Taotoken 模型广场如何帮助开发者快速进行模型选型与测试 1. 模型广场的核心功能 Taotoken 模型广场为开发者提供了一个集中查看和管理各类大模型的界面。登录平台后,开发者可以在模型广场看到当前可用的所有模型列表,每个模型卡片都清晰展示了关…...
别让数据‘撑爆’了!手把手教你配置Xilinx FFT IP核的缩放因子与防溢出策略
Xilinx FFT IP核实战:精准控制数据动态范围的三大黄金法则 在数字信号处理领域,FFT(快速傅里叶变换)堪称频谱分析的"瑞士军刀",而Xilinx的FFT IP核则是FPGA开发者手中的利器。但当我们真正将其部署到实际项目…...
3分钟解锁《鸣潮》120FPS:WaveTools工具箱全面评测与使用指南
3分钟解锁《鸣潮》120FPS:WaveTools工具箱全面评测与使用指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否在为《鸣潮》游戏中的60FPS帧率限制而烦恼?高端硬件无法充分发挥…...
如何利用C++20 constexpr虚函数实现编译时多态:完整指南
如何利用C20 constexpr虚函数实现编译时多态:完整指南 【免费下载链接】modern-cpp-features A cheatsheet of modern C language and library features. 项目地址: https://gitcode.com/gh_mirrors/mo/modern-cpp-features 现代C特性库(modern-c…...
快速上手TigerVNC:终极免费远程桌面解决方案,15分钟实现跨平台流畅控制
快速上手TigerVNC:终极免费远程桌面解决方案,15分钟实现跨平台流畅控制 【免费下载链接】tigervnc High performance, multi-platform VNC client and server 项目地址: https://gitcode.com/gh_mirrors/ti/tigervnc TigerVNC是一款高性能、跨平台…...
