DDMS全解

article/2025/10/14 0:40:27
DDMS 的全称是 Dalvik Debug Monitor Service,
它为我们提供例如:为测试设备截屏、针对特定的进程查看正在运行的线程以及堆信息、Logcat、
广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。

一、如何启动 DDMS
DDMS 工具存放在 SDK 的 tools 路径下,启动DDMS方法如下:
1.直接双击ddms.bat运行;
2.在Eclipes调试程序的过程中启动DDMS,在Eclipes中的界面如下:

Android <wbr>DDMS <wbr>使用详细说明
选择“Other”,界面如下:
Android <wbr>DDMS <wbr>使用详细说明

双击DDMS就可以启动了。
DDMS对 Emulator 和外接测试机有同等效用。
如果系统检测到它们同时运行,那么DDMS将会默认指向 Emulator。
以上2种启动后的操作有些不一样,建议分别尝试一下。

二、DDMS 的工作原理
DDMS将搭建起IDE与测试终端(Emulator 或 connected device)的链接,
它们应用各自独立的端口监听调试器的信息,DDMS可以实时监测到测试终端的连接情况。
当有新的测试终端连接后,DDMS将捕捉到 终端的ID ,并通过 adb 建立调试器,
从而实现发送指令到测试终端的目的。

Android <wbr>DDMS <wbr>使用详细说明

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

三、通过GUI详细了解DDMS的一些功能
1.Devices

Android <wbr>DDMS <wbr>使用详细说明

在GUI的左上角可以看到标签为 ”Devices” 的面板,这里可以查看到所有与 DDMS 连接的终端的详细信息,
以及每个终端正在运行的
应用进程,每个进程最右边相对应的是与调试器链接的端口。
因为 Android 是基于 Linux 内核开发的操作平台,同时也保留了Linux中特有的进程ID,
它介于进程名和端口号之间(上图第二列)。

在面板的右上角有五个很重要的图标按键它们分别是:
1)Debug the selected process;
2)Update Threads;
3)Update Heap;
4)Stop Process;
5)ScreenShot;

2.Emulator Control

Android <wbr>DDMS <wbr>使用详细说明

通过这个面板的一些功能可以非常容易的使测试终端模拟真实手机所具备的一些交互功能,
比如:接听电话,根据选项模拟各种不同网络情况,模拟接受SMS消息和发送虚拟地址坐标用于测试GPS功能等。
Telephony Status:  通过选项模拟语音质量以及信号连接模式。
Telephony Actions: 模拟电话接听和发送SMS到测试终端。
Location Control:  模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识,
                   可以通过以下3种方式:
                   1)Manual:手动为终端发送二维经纬坐标。
                   2)GPX:通过GPX文件导入序列动态变化地理坐标,从而模拟行进中GPS变化的数值。

                   3)KML: 通过KML文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。


3.Threads、Heap、File Exporler

Android <wbr>DDMS <wbr>使用详细说明

这几项,我们在其他开发工具中也经常使用,就在不此详细说明了。
通过File Exporler可以查看Android模拟器中的文件,可以很方便的导入/出文件。

4.Locate、Console

Android <wbr>DDMS <wbr>使用详细说明

Locate: 显示输出的调试信息,详见《Android下如何调试程序?》一文;
Console:是 Android 模拟器输出的信息,加载程序等信息;

四、使用DDMS模拟发送短信,操作过程如下:
在Emulator Control\Telephony Actions 中输入以下内容

Android <wbr>DDMS <wbr>使用详细说明
   单击发送后,在Android模拟器中打开Messaging,看到下面的短信:
Android <wbr>DDMS <wbr>使用详细说明
   单击新短信,详细查看短信内容:
Android <wbr>DDMS <wbr>使用详细说明
  中文显示为乱码,在未来的开发中,我们必须要注意中文字符的问题。

五、总结:DDMS是我们开发人员最好的调试工具,它将是每个从事Android开发的人员都不可缺少的。

2

0


http://chatgpt.dhexx.cn/article/wNqjsmE7.shtml

相关文章

Android开发调试必备 - DDMS

一、真机调试的两个必备条件 (1)手机打开开发者模式并且运行USB调试 (2)PC上装好手机对应的驱动&#xff08;现在的安卓手机连接电脑一般都需要安装驱动&#xff0c;让电脑能够驱动安卓手机&#xff09; 二、DDMS(DalvikDebugMonitorServer)四个主要窗口 Devices&#xff1a…

旧版Xcode8.3.3.xip解压时提示『归档不是来自Apple』填坑

百度结果 几乎全是&#xff1a; 1.保证存储空间 20G 2.去除解压验证 xattr -d com.apple.quarantine Xcode_8_beta.xip 3.双击解压 然而试了并不行&#xff0c;因为验证早已经关了。 最后解决是&#xff1a; 证书过期&#xff0c;把系统日期改为前几年解决问题。

apple Xcode xip安装

1.保证存储空间 20G 2.去除解压验证 xattr -d com.apple.quarantine Xcode_8_beta.xip 3.双击解压 压缩后&#xff0c;打本地目录&#xff0c;双击。开始安装。

Mac实用小技巧之解压(.xip)文件

Mac下解压(.xip)文件 在安装Xcode的时候&#xff0c;我从官网下载了一个Xcode的安装文件&#xff0c;但是这个文件是(.xip)压缩文件&#xff0c;我使用了很多解压软件&#xff0c;都没有解压成功&#xff0c;最后上网查看&#xff0c;大家推荐了一种方法 “通用”里有时没有“任…

安装Xcode的xip安装包的一些注意事项

需求场景 需要同时安装多个 Xcode 时需要安装较老版本 Xcode 时 下载地址 https://developer.apple.com/download/more/ 注意事项 1. 安全性 打来安全和隐私中的任何来源 高版本系统没有显示的情况下&#xff0c;可以终端输入:sudo spctl --master-disable 2. 去除解压验证…

ARM Linux 的XIP还是挺好用的

MergeFile下载&#xff08;微软SkyDrive&#xff09;&#xff1a;http://cid-a0a942ebd8c6c3b5.office.live.com/self.aspx/.Documents/MergeFiles.rar 一般来说&#xff0c;现在的ARM Linux嵌入式系统都是将Image拷贝到SDRAM中进行运行的标准方式&#xff0c;尤其是像S3C6410和…

macOS Mojave 解压xip失败的问题

写这个博客主要是记录最近更新 macOS 10.14 和升级了Xcode10后要重新下载一个旧版的Xcode所踩的坑。 1、首先要打开通用的任何来源这个选项: 发现提示“xxxxxx 已损坏&#xff0c;打不开。” &#xff08;很多破解版的软件安装不成功就是这个问题&#xff09; 是因为macOS Sier…

ESP32系列--存储器类型和XIP特性

一、目的 当我们通过ESP-IDF开发ESP32时&#xff0c;可能会遇到类似这样的场景需要对某个函数的执行速度进行优化例如中断执行函数需要快入快出&#xff0c;那么应该怎么做呢&#xff0c;ESP-IDF里面有没有提供这样的方法或者机制呢&#xff1f; 按照常识我们总认为内部SRAM的读…

Raspberry Pi Pico SDK开发-Flash-XIP

Flash-XIP RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的片外闪存。 广泛的灵活 I/O 选项包括 I2C、SPI 和独特的可编程 I/O (PIO)。 本实例将演示如何使用Flash。 1、Flash-XIP介绍 RP2040使用就地执行 (execute-in-…

Nor Flash芯片内执行(XIP)

前言&#xff1a;这个所谓的芯片内执行&#xff08;XIP&#xff09;对于我这种一根筋的人是很难理解的&#xff0c;一直总觉得CPU是只能在RAM中运行程序&#xff0c;为毛能够在Nor Flash中执行程序呢&#xff0c;这里面就有个概念容易混淆&#xff0c;也可能是翻译理解的问题。…

芯片的XIP与BootRom启动方式

XIP&#xff1a;execute in place&#xff0c;就地执行&#xff0c;即芯片内执行&#xff0c;指应用程序可以直接在flash闪存中取指然后译码、执行&#xff0c;不必再把代码读到系统RAM中&#xff0c;flash内执行时指Nor flash不需要初始化&#xff0c;可以直接在flash内执行代…

STM32CubeIDE XiP 和 BootROM介绍, XiP外部内存QSPI FLASH执行用户代码

随言&#xff1a; 目前的电子产品功能越来越多&#xff0c;随之而来的就是代码越来越庞大&#xff0c;代码所需要的存放空间也越来越大。 比如&#xff1a;用ST做GUI界面&#xff0c;面临最大的问题就是芯片内部flash最大才2M。在现在这个时代&#xff0c;2M其实也放不了几张…

mac实用小技巧之解压.xip文件

Mac下解压(.xip)文件 在安装Xcode的时候&#xff0c;我从官网下载了一个Xcode的安装文件&#xff0c;但是这个文件是(.xip)压缩文件&#xff0c;我使用了很多解压软件&#xff0c;都没有解压成功&#xff0c;最后上网查看&#xff0c;大家推荐了一种方法 “通用”里有时没有“…

XIP技术介绍

转载&#xff1a;https://blog.csdn.net/wk_kuan/article/details/39692371 1&#xff1a;简介 XIP&#xff0c;executed in place&#xff0c;本地执行。操作系统采用这种系统&#xff0c;可以不用将内核或执行代码拷贝到内存&#xff0c;而直接在代码的存储空间直接运行。采…

XIP技术

转自https://blog.csdn.net/amberman/article/details/8122300 侵删 首先认识下nandflash和norflash&#xff1a; NOR Flash 和 NAND Flash 是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR Flash 技术&#xff0c;彻底改变了原先由EPROM(Electrically Pr…

XIP技术总结

1.XIP eXecute In Place XIP即芯片内执行&#xff0c;指应用程序可以在flash闪存内运行&#xff0c;不必再把代码读到系统RAM中。需要注意的是&#xff0c;片内执行不是说程序直接在flash内执行&#xff0c;CPU的基本功能就是取指、译码和执行。norflash能在芯片内执行&#x…

XIP简介

1、XIP是什么&#xff1f; XIP&#xff08;executed in place&#xff09;本地执行。操作系统采用这种系统&#xff0c;可以不用将内核或执行代码拷贝到内存&#xff0c;而直接在代码的存储空间直接运行。 XIP是一种能够直接在闪速存储器中执行代码而无须装载到RAM中执行的机…

XIP(eXecute In Place)

XIP&#xff08;eXecute In Place&#xff09; 1.什么是XIP ​ eXecute In Place&#xff0c;即芯片内执行、就地执行&#xff0c;是指CPU直接从存储器中读取程序代码执行&#xff0c;而不用再读到内存中。应用程序可以直接在flash闪存内运行&#xff0c;不必再把代码读到系统…

网页游戏设计(HTML5入门)--- 基础知识篇

01 1、网络游戏&#xff08;Online Game&#xff09; 指用户通过计算机互联网进行交互娱乐的电子游戏&#xff0c;通常以互联网为传输媒介&#xff0c;以游戏运营商和用户计算机作为处理终端&#xff0c;以专门的游戏客户端软件或浏览器为信息交互窗口。 2、客户端形式 这一…

计算机基础知识教程

计算机硬件Hardware系统 起源&#xff1a;十九世纪英国&#xff1b; 诞生&#xff1a;1946.2.15&#xff0c;美国宾州大学&#xff1b; 发展&#xff1a;电子管-》晶体管-》集成电路-》大规模集成电路-》超大规模集成电路&#xff1b; 目前&#xff1a;PC系列微型计算机&#x…