Android开发工具介绍(adb、AVD、DDMS)

2023-10-30 05:52

本文主要是介绍Android开发工具介绍(adb、AVD、DDMS),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.  adb

1.1  查看设备

1.2  安装软件

1.3  卸载软件

1.4  登录设备 shell

1.5  从计算机上发送文件到目标机

1.6  从目标机上下载文件到计算机

1.7  显示帮助信息

2.  AVD

2.1  AVD 的创建

2.2  启动 AVD 模拟器

3.  DDMS

3.1  DDMS的启动方法

3.2  DDMS 工作原理

3.3  DDMS 的功能

3.3.1  Devices 面板

3.3.2  Fmulator Contro 面板

3.3.3  其他功能

3.3.4  LogCat 面板


1.  adb

        adb (Android Debug Bridge,调试桥)是一个debug工具,可将其他工具接入模拟器和设备,通过adb我们可以在Eclipse中通过DDMS来调试Android程序。除了可以让其他工具(ADT插件)功能生效以外,还可以使用命令行上传或下载文件、安装或卸载程序包、通过进入设备或模拟器的 shell 环境访问许多其他功能。当我们运行 Eclipse 时 adb 进程就会自动运行。

        adb是一个客户端/服务器端程序,其中客户端是用米操作的电脑,服务器端是Android设备。adb 安装在 Android SDK的 platform-tools 目录下,它的常用命令如下。

1.1  查看设备

命令:adb devices

        这个命令是查看当前连接的设备,连接到计算机的 Android 设备或者模拟器将会列出显示。如图 2-1 所示,在运行“adb devices”命令之后可以看到当前连接的一个设备 “emulator5554 device”

图 2-1 利用 adb 命令查看当前连接的 Android 设备

1.2  安装软件

命令: adb install <apk文件路径>

这个命令将指定的 apk 文件安装到设备上。

1.3  卸载软件

命令1: adb uninstall<软件名>

命令2: adb uninstall-k<软件名>

如果加 -k 参数,为卸载软件但是保留配置和缓存文件。

1.4  登录设备 shell

命令 1: adb shell

命令2: adb shell <command命令>

这个命令将登录设备的 shell。

后面加<command 命令>将是直接运行设备命令,相当于执行远程命令。

1.5  从计算机上发送文件到目标机

命令: adb push<本地路径><远程路径>

用push命令可以把计算机上的文件或者文件夹复制到Android目标机中

1.6  从目标机上下载文件到计算机

命令: adb pull <远程路径><本地路径>

用 pull命令可以把 Audivid日标机上的文件或者文件夹复制到计算机。

1.7  显示帮助信息

命令: adb help

2.  AVD

        AVD (Android Virtual Device,安卓虚拟设备) ,一般称其为Android模拟器,可以用来模拟一个Android手机或平板电脑,由于可以虚拟出来各个API版本、各种屏幕分辨率的Android设备,所以AVD在 Android开发中很常用。

        AVD没有SIM卡,也没有WiFi网络,硬件资源受限,所以有部分Android 应用程序需要在真机(真实的Android设备)上调试,比如使用到3G和WiFi网络、使用3D渲染、使用到SIM卡等功能的应用程序

2.1  AVD 的创建

建立 AVD 的步骤如下。

第一步,在 Eclipse 中,打开菜单项 Windows->Android Virtual Device Manager.

第二步,在出现的 AVD 管理界面中,点击右上角的 New 按钮,就会出现新建 AVD 的界面,在此界面中可以配置 AVD,如图 2-2 所示。配置完成后,点击 OK 按钮,即可创建一个新的AVD.这个被创建的AVD,就相当于一个连接在计算机上的Android设备,可以用来运行和调试 Android 程序。

图 2-2 AVD 建立界面

图 2-2 中 AVD 的配置信息说明如下,

(1) AVD Name: AVD名称,作为标识,开发者自用,能识别不同的AVD即可。

(2) Device:要模拟的设备,一般为现在 Google 的 Nexus 系列手机,以及其他手机和平板,区别在于屏幕分辨率不同,可以建立多个 AVD 来做屏幕适配。

(3) Target:模拟器的API版本。

(4) Keyboard /Skin:键盘布局/皮肤设置,按默认选中即可。

(5) RAM:模拟器的内存大小,会共享宿主机的内存,一般为默认大小即可,太大会降低宿主机的速度,太小会降低模拟器的速度。

(6) VM Heap:模拟器堆栈大小,默认值即可。

(7) Internal Storage:模拟器 ROM 大小,存放安装到模拟器上的程序,占用计算机磁盘空间。

(8) SD Card Size:模拟器的 SD Card 大小,一般存放多媒体、照片等大文件,占用计算机的磁盘空间。与ROM占用计算机空间的机制不同,只要AVD建立好,就会占用这样大小的磁盘空间,所以这个值不宜设置太大,不够用时再设置大一些即可。

(9) Snapshot:快照功能,会保存上次的AVD显示界面,以加快下一次AVD的启动,但有时会影响程序调试,导致对代码的更改不能立即反映在AVD的界面上。

(10) Use Host GPU:使用宿主机的 GPU 加速,一般在调试 3D 游戏时开启,不过通常都使用真机做3D游戏的调试。

2.2  启动 AVD 模拟器

        建好 AVD 后,就会出现如图 2-3 所示的界面,可以看到在列表中出现了刚才建立的AVD,选择它,然后点击右边的 Start 按钮,在之后出现的窗口中点击Launch 按钮,该 AVD就被启动了,如图 2-3 所示,它显示的就是Nexus_One这款手机在4.2 (API 17)版本下的界面,后续我们就可以把写好的Android程序运行在这个AVD上了。

图2-3 AVD选择界面

图 2-3 AVD 启动后的初始界面

3.  DDMS

        DDMS (Dalvik Debug Monitor Service)是Android开发环境中的Dalvik虚拟机调试监控服务。DDMS为我们提供了测试设备截屏,针对特定的进程查看正在运行的线程及堆信息、Logcat、广播状态信息、模拟电诂呼叫、接收 SMS、虚拟地埋坐标等功能。

3.1  DDMS的启动方法

(1) DDMS安装在Android SDK的tools目录下,可以在此目录下双击ddms.bat直接运行;

(2)在Eclipse中,打开菜单" Window--Open Perspective" ,双击菜单项"DDMS",也可启动DDMS, DDMS 界面如图 2-4所示。

图 2-4 DDMS 界面

3.2  DDMS 工作原理

        DDMS将搭建起IDE与测试终端(Emulator或connected device)的链接。DDMS可以实时监测到测试终端的连接情况,当有新的测试终端连接后, DDMS将捕捉到终端的ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的。

DDMS监听第一个终端应用程序进程的端口为8600,应用程序进程将分配8601,如果有更多终端或者更多应用程序进程将按照这个顺序依次类推。DDMS通过8700端口接收所有终端的指令。

3.3  DDMS 的功能

可以通过 DDMS 的图形界面了解到更多 DDMS 的功能。

3.3.1  Devices 面板

        在这个面板可以看到所有与 DDMS 连接的终端的信息,以及每个终端正在运行的应用程序进程,每个进程的右边相对应的是与调试器链接的端口。因为Android是基于Linux内核开发的平台,同时也保留了Linux中特有的进程ID,它介于进程名和端口号之间。Devices面板如图 2-5 所示。

图 2-5 Devices 面板

3.3.2  Fmulator Contro 面板

        通过这个面板的一些功能可以非常容易的使测试终端模拟真实手机所具备的一些交互功能。比如接听电话、根据选项模拟各种不同网络情况、模拟接受SMS消息和发送虚拟地址坐标用于测试 GPS 功能等。Emulator Contro 面板如图 2-6 所示。

Telephony Status 面板:通过选项模拟语音质量以及信号连接模式:

Telephony Actions面板:模拟电话接听和发送SMS到测试终端;

Location Control 面板:模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识。可以通过 Manual 面板手动为终端发送二维经纬坐标;或在 GPX 面板通过 GPX 文件导入序列动态变化地理坐标,从而模拟行进中 GPS 变化的数值:在KML 面板可以通过 KML 文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。

图2-6 Emulator Contro面板

3.3.3  其他功能

        Devices面板右边的窗口中还有Threads、Heap、Allocation Tracker、File Explorer、NetworkStatisties和System Information选项卡,如图2-7所示,可以显示线程统计信息、栈信息、内存分配跟踪情况、Android设备的文件系统、网络使用统计信息和Android设备的系统信息。

图 2-7 其他功能选项卡

        在以上的这些选项卡中,最常使用的是File Explorer选项卡,它可以把文件上传到Android设备,或从Android设备下载文件,也可以进行文件删除操作。

3.3.4  LogCat 面板

        在DDMS界面中的下面是LogCat面板,可以输出AVD或Android设备的一些运行和调试信息。LogCat是Android日志系统的名称,是一个日志记录工具,可以通过Eclipse、adh读取TogCat数据,它可以提供系统中相关事件的诊断信息。开发者可以由此将应用程序的调试和诊断信息发送到LogCat.这个工具很常用,可以理解为C或Java程序中的控制台输出,常被用来在手写代码的调试方式中,输出调试信息,使用时在代码中先使用 import关键字导入android.util.Log包,然后在代码中使用Log.d(String, String). Log.i(String, String)等方法输出调试信息。

        LogCat 面板如图 2-8 所示,其右边窗格显示的是 LogCat 日志,左边窗格可以过滤一些调试信息。

图2-8 LogCat面板


这篇关于Android开发工具介绍(adb、AVD、DDMS)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/306017

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四