Android开发中adb命令的常用方法

【Android】如何使用ADB进行调试 adb是什么?adb有什么用?adb工具如何用?   是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开cmd即可使用adb命令,adb的全称为Android Debug Bridge,是起到调试桥的作用,通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具,adb的工作方式比较特殊,采用**Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会 阅读详情

转自:http://blog.youkuaiyun.com/zhangjg_blog/article/details/10431649


Android的SDK中提供了很多有用的工具,在开发过程中如果能熟练使用这些工具,会让我们的开发事半功倍.adb是SDK提供的一个常用的命令行工具,全称为Android Debug Bridge,用于在调试时连接本机和手机设备.


        adb有很多命令,本文只列出一些常用的命令,要查看所有的adb命令和用法, 可以在命令行中输入adb进行查看.

这些命令都是根据本人在开发过程中的使用进行总结的,以后如果发现其他常用的和有用的命令,会加入本文中.下面是一些常用的命令和用法.



一    adb常用命令


adb start-server       

        开启adb服务


adb kill-server              

        终止adb服务


adb devices   

        列出所有连接到adb的设备, 包括真机和模拟器


adb version                  

        显示adb的版本号


adb install <apk file name>    

将指定的app安装到唯一连接到adb的设备上,后边跟的参数为安装包的文件名


adb install -r <apk file name>

        安装应用程序, 但是保留原有应用程序的所有数据


adb uninstall <package name>

        将包名指定的app从目标设备上卸载,后边跟的参数为应用程序的包名


adb uninstall -k <package name>    

将包名指定的app从目标设备上卸载, 但是保留配置文件和缓存


adb push <local> <remote>    

将本机的文件或目录拷贝到目标设备的文件系统中


adb pull <remote> [<local>]  

将目标设备中的文件或目录拷贝到本机中


adb shell 

进入目标设备的Linux Shell环境, 在该环境中可以执行一些Linux命令.如在Linux Shell环境中执行ps可以查看android设备中运行的所有进程.在Linux Shell环境中执行exit可以退出Linux Shell环境


adb shell dumpsys activity

列出目标设备上的activity栈(back stack)和任务(task)的信息, 还有其他组件的一些信息和一些关于进程的信息


adb shell dumpsys packages

列出一些系统信息和所有应用的信息。这个命令的输出很庞大,在三星nexus上的输出有12000多行。这些信息

都非常详细,包括Features,Activity Resolver Table等。以下是输出的主要信息:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family:SimSun;font-size:14px;">Verifiers:  
  2.   
  3.   
  4.     ...  
  5.   
  6. Libraries:  
  7.   
  8.     
  9.     ...  
  10.   
  11. Features:  
  12.   
  13.    
  14.     ...  
  15.   
  16. Activity Resolver Table:  
  17.   
  18.   Full MIME Types:  
  19.   
  20.     ...  
  21.   
  22.   MIME Typed Actions:  
  23.   
  24.     ...  
  25.   
  26. Receiver Resolver Table:  
  27.   
  28.   Full MIME Types:  
  29.   
  30.   
  31.     ...  
  32.   
  33.   Non-Data Actions:  
  34.   
  35.     ...  
  36.   
  37. Service Resolver Table:  
  38.   
  39.   Full MIME Types:  
  40.   
  41.         
  42.     ...  
  43.   
  44.   Base MIME Types:  
  45.   
  46.   
  47.     ...  
  48.   
  49.   Non-Data Actions:  
  50.   
  51.   
  52.     ...  
  53.   
  54.   MIME Typed Actions:  
  55.   
  56.     ...  
  57.   
  58. Preferred Activities User 0:  
  59.   
  60.   
  61.     ...  
  62.   
  63. Permissions:  
  64.   
  65.   
  66.     ...  
  67.   
  68. Registered ContentProviders:  
  69.   
  70.     ...   
  71.   
  72. ContentProvider Authorities:  
  73.   
  74.     ...  
  75.   
  76. Shared users:  
  77.   
  78.     ...  
  79.   
  80.   
  81. Settings parse messages:  
  82.   
  83. Read completed successfully: 149 packages, 12 shared uids  
  84.   
  85.     ...  
  86.   
  87. Package warning messages:  
  88.   
  89.     ...</span>  


adb shell pm list permissions

         列出目标平台上的所有权限


adb shell pm list packages

列出目标设备上安装的所有app的包名


adb shell pm list features

        列出目标设备上的所有feature



使用adb命令启动一个Activity

[plain]  view plain copy
  1. <span style="font-family:SimSun;font-size:14px;">adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE  
  2. adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY  
  3.   
  4. # example  
  5. adb shell am start -n com.growingwiththeweb.example/.MainActivity  
  6. adb shell am start -n com.growingwiththeweb.example/com.growingwiththeweb.example.MainActivity</span>  



屏幕截图, 并使用perl命令保存截图

<code style="margin: 0px auto;"><span style="font-family: SimSun;"><span class="pln">adb shell screencap </span><span class="pun">-</span><span class="pln">p </span><span class="pun">|</span><span class="pln"> perl </span><span class="pun">-</span><span class="pln">pe </span><span class="str">'s/\x0D\x0A/\x0A/g'</span><span class="pln"> </span><span class="pun">></span><span class="pln"> screen</span><span class="pun">.</span><span class="pln">png</span></span></code>


解锁屏幕

<code style="margin: 0px auto;"><span style="font-family: SimSun;"><span class="pln">adb shell input keyevent </span><span class="lit">82</span></span></code>




注:  所有以"adb shell"开头的命令,都可以先执行adb shell命令进入目标设备的Linux Shell环境, 然后在目标设备的Linux Shell中再执行"adb shell"之后的命令.如adb shell dumpsys activity, 可以先执行adb shell, 然后再Linux Shell中再执行dumpsys activity



二    adb命令中用于确定目标设备的参数


adb命令有三个重要的参数,当本机上连接了两个或以上的android设备时,这三个参数就有用武之地了:

-d  说明adb命令的目标设备是唯一连接到adb的真机

-e  说明adb命令的目标设备是唯一连接到adb的模拟器

-s  <specific device> 指定adb命令的目标设备


以下为这三个参数的应用举例:

adb -d shell

进入唯一连接到adb的真机的Linux Shell环境


adb -e install weibo.apk

将weibo.apk安装到唯一连接到adb的模拟器上


adb -s emulator-5554 push weibo.apk /sdcard/weibo.apk  

将weibo.apk文件复制到emulator-5554的/sdcard/weibo.apk位置


注:  根据我自己的测试,当用-d -e 或者-s 指定目标设备时,命令有时会执行的比较慢,不知道什么原因



三    使用adb命令行的优势


        尽管现在的用户操作以图形界面为主,但是在一些情况下, 命令行具有图形界面没有的优势, 尤其是对于开发人员, 命令行能提高效率.下面举例说明: 


1  快速卸载app


在android开发过程中, 在把程序发布到手机上进行测试时, 有时必须要卸载以前的版本以删除原来的数据,此时只要在命令行中输入

adb uninstall <包名> 

即可卸载, 而在手机上卸载, 要经过如下步骤:

设置 --> 应用程序 --> 管理应用程序 --> 在列表中找到要卸载的程序 --> 点击要卸载的应用程序 --> 卸载


2  快速删除目录(文件夹)


 如果程序在sd卡上创建了目录MyApp,在该目录中有数据库和一些其他文件,在将程序发布到手机上测试时, 需要删除原来创建的目录再重新创建.这时只需要执行以下命令:

adb shell
cd /mnt/sdcard
rm -r MyApp
这样的话就不必再在文件浏览器中寻找这个目录并删除它 . 

4.无限共轭距柯克物镜设计——zemax学习笔记 无限共轭cooker物镜 阅读详情

相关推荐

WRF后处理避坑指南:从namelist配置到降水计算的全流程解析

本文提供了一份详尽的WRF模式后处理避坑指南,涵盖从理解wrfout文件结构、核心变量解析到累计降水计算与专业气象图绘制的全流程。重点解析了RAINC与RAINNC的正确处理方法,并分享了使用wrf-python库高效绘制位势高度叠加风场图、累计降水图等专业图表的实战技巧与代码,旨在帮助用户规避常见错误,提升后处理效率与图表质量。

weixin_29200485的博客 353

Android ADB指令整理

一、常用指令 adb shell:进入目标设备的Linux Shell环境, 在该环境中可以执行一些Linux命令.如在Linux Shell环境中执行ps可以查看android设备中运行的所有进程 exit:退出当前环境 adb help:显示帮助信息 adb shell  cat /sys/class/net/wlan0/address:获取MAC地址 adb shell g

ydw93的博客 414

别再让COGI拖慢你的SAP接口!手把手教你配置BAPI_PRODORDCONF_CREATE_TT的同步货物移动

本文深入解析SAP生产订单报工接口中的COGI问题,通过BAPI_PRODORDCONF_CREATE_TT的同步配置实战,解决异步更新导致的性能瓶颈。文章详细介绍了增强点配置和性能验证,帮助用户彻底消除COGI堆积,提升接口效率。

weixin_29214691的博客 482

用adb shell 获取当前手机所有features

用adb shell 获取当前手机所有features adb shell pm list features 在写测试脚本的时候会有用   这是从google的cts测试里找出来的,androidxref上可以搜索到 :androidxref 。 cts测试真是集合了Google工程师奇技淫巧之大成,很多神奇的骚操作,都可以在这里面找到。在没有adb shell 命令集合官方文档前,ct...

星辰旋风的博客 8748

ChipCamp探索系列 -- 7A. 开源CPU之BOOM的来龙去脉

本文梳理一下Berkeley的乱序超标量CPU项目----Berkeley Out of Order Machine (BOOM),作为探索7系的首篇(7A)。

ChipCamp的博客---https://chipcamp.blog.youkuaiyun.com/ 1558

CCD 技术介绍(基于innovus引擎CCOpt)

CCD:全称是,并行优化clock和data path。CCOpt:全称是Clock的timing分为两种模式,和。preCTS并没有clock,因此需要建立一个,从clock端口到寄存器CK端的来自sdc中的设置;postCTSupdateIO latency,clock就会自动的转换成propagatedclock,这时就是实际时钟互连线网络的delay。在实际设计中,clock起始于ideal。

m0_61003348的博客 8978

android 调用adb命令

我整理的一些关于【CI】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/xltfovAndroid 调用 ADB 命令的科普文章 ADB(Android Debug Bridge)是 Android 平台上的一款强大的命令行工具,可以帮助开发者与 Android 设备进行交互...

weixin_40426792的博客 229

STM32CubeMX和华为LiteOS Studio开发STM32

传统的STM32的开发通常使用Keil/IAR这类开发软件,随着物联网时代的到来,传统嵌入式的发展不断向物联网方向靠拢,而Keil/IAR这类开发软件无法满足IoT一站式的开发,华为LiteOS Studio结合STM32CubeMX可以快速,高效地进行物联网开发,本文提供一种开发思路及环境的配置方法。...

weixin_45680600的博客 2833

Android ADB命令大全(持续更新)

一、ADB介绍ADB (Android Debug Bridge) 是一个通用命令行工具,它允许您与连接到计算机的 Android 设备进行通信。是安卓相关开发者常用必备工具。详细可以从官网去了解更多二、ADB下载与安装adb包含在 Android SDK 平台工具软件包中。您可以使用下载此软件包,该管理器会将其安装在下。如果您需要独立的 Android SDK 平台工具软件包,请。1.下载2.安装下载的压缩包直接加压;然后接吧的文件夹路径加入到环境变量中即可。

Over_dose的博客 1954

高通camx进程ExtensionModule::TeardownOverrideSession类型crash问题分析之一:【死锁导致】

摘要:本文分析了一个在相机老化测试中出现的pthread_cond_wait持锁超时导致的ExtensionModule::TeardownOverrideSession崩溃问题。通过crash堆栈和日志分析,发现close阶段存在近1分钟的无响应期。进一步分析trace文件发现存在多线程死锁:ChiFeature2Graph::GenerateSmartErrorCode和ChiFeature2RequestObject::SetCurRequestState两个线程分别持有不同锁并互相等待对方释放。最终

1110

【乐企文件生成工程】乐企文件生成支持所有特定要素类型发票

【代码】【乐企文件】乐企文件生成最新更新!!!

九七的博客 850

向程序发送命令失败_APP专项测试之ADB常用命令

ADB简介Adb的全称为AndroidDebugBridge:android调试桥梁,可以看出,Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能;我们可以在androidsdk安装目录的platform-tools目录下找...

weixin_39769406的博客 239

基于深度学习的停车位检测系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

传统的停车位检测方法主要依赖于人工或基于简单图像处理的技术,存在检测速度慢、准确率低、环境适应性差等问题。近年来,随着深度学习技术的快速发展,基于目标检测的停车位检测系统已成为研究的热点。本文基于YOLO(You Only Look Once)系列模型(包括YOLOv5、YOLOv6、YOLOv7和YOLOv8),开发了一个完整的停车位检测系统,支持实时检测、结果可视化以及UI交互界面。本文实现了一个基于深度学习的停车位检测系统,采用YOLO模型在实时视频流中进行高效检测。

YOLO 332

ADB调试工具

概述:Android Debug Bridge 是一种常用的安卓调试工具,可以帮助开发者在安卓设备和PC之间调试和传输数据,本文介绍的是H5开发者常用的ADB命令行调试工具。

m0_56516186的博客 533

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

adb 常用命令汇总_adb命令

ADB 常用命令速查指南 Android Debug Bridge (ADB) 是连接开发机与 Android 设备的调试工具,支持应用管理、文件传输、日志调试等操作。核心功能包括: 1️⃣ 设备管理:adb devices查看设备、adb reboot重启设备 2️⃣ 应用操作:adb install/uninstall安装卸载、adb shell pm list packages查看应用 3️⃣ 文件传输:adb push/pull实现电脑与设备文件互传 4️⃣ 日志调试:adb logcat实时查看日

likuoelie的博客 1558

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

每天一个安卓测试开发小知识之 (七)---常用的adb 命令第五期

- adb命令获取手机屏幕大小(分辨率) - adb命令点击坐标 - adb命令按下物理按键 - adb命令获取当前手机的旋转方向 - adb命令获取当前手机的折叠状态【针对折叠屏手机】

qq_42213030的博客 632

Android adb常用命令

命令 作用描述 adb devices 查看当前连接的设备 adb get-serialno 获取手机的序列号 adb shell wm size 查看手机屏幕分辨率 adb shell cat /proc/cpuinfo 显示手机的cpu信息 adb shell pm list packages 显示手机里面所有应用的包名 adb uninstall (apk包名) 直接卸载 adb uninstall -k (apk包名) 卸载 app 但保留数据和缓存文件 ...

ChanYee的博客 261

ADB常用命令及其用法大全

前言: 本文主要记述ADB的常用命令,关于ADB用法大全,可参考文末链接 ADB简介: ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-to...

手写我对你的温柔 53万+

ADB调试完全指南:安卓设备调试开发必备技能

ADB(Android Debug Bridge,安卓调试桥)是Android开发者、极客用户和智能电视/盒子玩家必备的工具。它允许你通过命令行与Android设备交互,实现APK安装、日志抓取、文件传输、系统调试等高级操作。

李赛赛的专栏 3316
上一篇: Android系统中标准Intent的使用√
下一篇: Android开发代码片收集
KingLearnJava
博客等级 码龄12年 93粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值