热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android调试工具adb的高逼格使用方式

引言:通常在使用Eclipse进行Android应用开发的时候,我们可以使用Eclipse自带的工具来完成调试和查看输出日志的操作,但是

引言:

通常在使用Eclipse进行Android应用开发的时候,我们可以使用Eclipse自带的工具来完成调试和查看输出日志的操作,但是假如在当前电脑并没有配置适用于Android开发的Eclipse版本的情况下,想要查看Android设备运行应用或者游戏时的实时输出日志,可以直接借助Android调试工具 adb 来完成。

adb简介:

adb 全称是 Android Debug Bridge,即安卓调试工具。

adb配置:

与其说是安装 adb ,更准确的描述应该是解压和配置。先下载 adb工具包,然后加压得到一个 adb 文件夹,包含文件如下:

| adb
| --- adb.exe
| --- AdbWinApi.dll
| --- AdbWinUsbApi.dll
| --- fastboot.exe

为了可以全局使用 adb 工具,我们可以用两种方式来实现配置操作:

方法一:配置环境变量

直接将 adb 文件夹的目录添加到系统环境变量 Path 中,操作步骤:我的电脑 -> 属性 -> 高级系统设置 -> 环境变量:

方法二:复制到系统文件目录

adb 工具包的四个文件都复制到 C:\Windows\System32 目录里。

  • 报错:
    这是网上推荐的方式之一,但是我尝试之后发现并不能正常使用,在cmd窗口输入 adb 还报错 “无法启动此程序,因为计算机中丢失 AdbWinApi.dll。尝试重新安装该程序解决此问题。”

  • 解决:
    原来,这个配置过程跟系统的位数有关,假如系统是32位的,则将四个文件都复制到 C:\Windows\System32 目录里即可。但是,假如使用的Windows系统是64位的,则需要将其中的 AdbWinApi.dll 文件复制到 C:\Windows\SysWOW64 里,这样就一切正常了。


常用操作:


1.查询版本:

打开cmd窗口,定位到 adb.exe 所在的文件目录,然后输入版号查询指令:

shell
E:\java web\tools\adb>adb -v
Android Debug Bridge version 1.0.26

2.启动和关闭:


  • 启动:

    adb start-server

  • 关闭:

    adb kill-server


3.查询连接设备列表:


注意使用前先确保手机的USB调试功能是打开的状态。设置 -> 开发者选项 -> USB调试(勾选)

在cmd窗口输入 adb devices 查询设备列表:

C:\Users\Administrator>adb devices
List of devices attached
622123171690109874 device

  • 问题:
    假如在设备管理器中看到设备已经连接上:计算机管理 -> 设备管理 -> Android Phone -> Android Composite ADB Interface -> 右键属性 -> 详细信息

    但是,adb 查询结果发现列表却是空的:

    C:\Users\Administrator>adb devices
    adb server is out of date. killing...
    * daemon started successfully *
    List of devices attached

  • 解决:
    打开 C:\Users\Administrator\.android 目录,修改或新建一个 adb_usb.ini 文件,填写内容为:0x[VID]

    这里[VID] 其实是硬件的 id,对应的其实就是上面计算机设备管理中的 USB\VID_2C73&PID_7029&REV_FFFF&MI_01VID_ 后面紧跟着的4位数字,这里是 “2C73”,故最终 adb_usb.ini 文件的内容是:0x2C73



然而,又出现了如下错误:

C:\Users\Administrator>adb devices
List of devices attached
622123171690109874 offline
网上资料说是由于:谷歌在 “Android 4.2.2“ 以后加入了验证,需要配合使用最新的ADB工具。这里我重新下载了 “adb 1.0.32“ 再尝试查询设备列表即正常了:

F:\android-sdk\platform-tools>adb -v
Android Debug Bridge version 1.0.32F:\android-sdk\platform-tools>adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
622123171690109874 device

下面步骤都是在查询设备指令运行正常的前提下进行的,否则无法正常使用。


3.打印日志:


命令说明备注
adb logcat打印log/
adb logcat -c清除手机的log buffer有些手机权限控制, 不支持.
adb logcat -b 打印指定buffer的log信息buffer有: main(主log区,默认), events(事件相关的log), radio(射频, telephony相关的log)
adb logcat -v 格式化输出log常用的用adb logcat -v time显示时间
adb logcat -f 输出log到指定文件

4.安装/卸载 apk:


  • 安装:(安装apk时指定apk file路径)

    adb install (.apk的目录)

  • 卸载:(卸载apk时指定包名)

    adb uninstall (apk的包名(xx.xx.com))

通常直接有两种方式来查看 logcat 日志:

  • 实时cmd窗口输出:

    adb logcat

  • 写入到指定日志输出文件:

    adb logcat -d >logcat.txt

    会在当前目录下生成一个 logcat.txt 日志文件。


5.进入设备的 shell 界面:

adb shell

小结:

总说高级的程序员就要做到脱离UI界面的编程模式,所以像这样直接使用cmd窗口来操作使用类似 adb 这样工具,从而完成我们功能需求,是不是看起来有点厉害的感觉呢。

参考资料:


  • Android adb你真的会用吗?
  • cmd连接android手机,并使用logcat输出的log信息
  • 安卓adb工具的安装方法
  • adb devices 检测不到真机问题的解决方案

推荐阅读
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文详细介绍了MicroATX(也称Mini ATX)和MATX主板规格,探讨了它们的结构特点、应用场景及对电脑系统成本和性能的影响。同时,文章还涵盖了相关操作系统的实用技巧,如蓝牙设备图标删除、磁盘管理等。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • andr ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • TCP长连接设备管理平台:架构与功能概览
    本文介绍了基于TCP长连接的设备管理平台的设计理念、技术选型及主要功能模块。最初,项目旨在实现简单的协议测试,但随着需求扩展,逐步演变为一个完整的前后端分离系统。 ... [详细]
author-avatar
紫陌红尘一笑_423
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有