技术标签: 1024程序员节 android DDMS ide adb Android AVD
目录
adb (Android Debug Bridge,调试桥)是一个debug工具,可将其他工具接入模拟器和设备,通过adb我们可以在Eclipse中通过DDMS来调试Android程序。除了可以让其他工具(ADT插件)功能生效以外,还可以使用命令行上传或下载文件、安装或卸载程序包、通过进入设备或模拟器的 shell 环境访问许多其他功能。当我们运行 Eclipse 时 adb 进程就会自动运行。
adb是一个客户端/服务器端程序,其中客户端是用米操作的电脑,服务器端是Android设备。adb 安装在 Android SDK的 platform-tools 目录下,它的常用命令如下。
命令:adb devices
这个命令是查看当前连接的设备,连接到计算机的 Android 设备或者模拟器将会列出显示。如图 2-1 所示,在运行“adb devices”命令之后可以看到当前连接的一个设备 “emulator5554 device”
图 2-1 利用 adb 命令查看当前连接的 Android 设备
命令: adb install <apk文件路径>
这个命令将指定的 apk 文件安装到设备上。
命令1: adb uninstall<软件名>
命令2: adb uninstall-k<软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件。
命令 1: adb shell
命令2: adb shell <command命令>
这个命令将登录设备的 shell。
后面加<command 命令>将是直接运行设备命令,相当于执行远程命令。
命令: adb push<本地路径><远程路径>
用push命令可以把计算机上的文件或者文件夹复制到Android目标机中
命令: adb pull <远程路径><本地路径>
用 pull命令可以把 Audivid日标机上的文件或者文件夹复制到计算机。
命令: adb help
AVD (Android Virtual Device,安卓虚拟设备) ,一般称其为Android模拟器,可以用来模拟一个Android手机或平板电脑,由于可以虚拟出来各个API版本、各种屏幕分辨率的Android设备,所以AVD在 Android开发中很常用。
AVD没有SIM卡,也没有WiFi网络,硬件资源受限,所以有部分Android 应用程序需要在真机(真实的Android设备)上调试,比如使用到3G和WiFi网络、使用3D渲染、使用到SIM卡等功能的应用程序
建立 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游戏的调试。
建好 AVD 后,就会出现如图 2-3 所示的界面,可以看到在列表中出现了刚才建立的AVD,选择它,然后点击右边的 Start 按钮,在之后出现的窗口中点击Launch 按钮,该 AVD就被启动了,如图 2-3 所示,它显示的就是Nexus_One这款手机在4.2 (API 17)版本下的界面,后续我们就可以把写好的Android程序运行在这个AVD上了。
图2-3 AVD选择界面
图 2-3 AVD 启动后的初始界面
DDMS (Dalvik Debug Monitor Service)是Android开发环境中的Dalvik虚拟机调试监控服务。DDMS为我们提供了测试设备截屏,针对特定的进程查看正在运行的线程及堆信息、Logcat、广播状态信息、模拟电诂呼叫、接收 SMS、虚拟地埋坐标等功能。
(1) DDMS安装在Android SDK的tools目录下,可以在此目录下双击ddms.bat直接运行;
(2)在Eclipse中,打开菜单" Window--Open Perspective" ,双击菜单项"DDMS",也可启动DDMS, DDMS 界面如图 2-4所示。
图 2-4 DDMS 界面
DDMS将搭建起IDE与测试终端(Emulator或connected device)的链接。DDMS可以实时监测到测试终端的连接情况,当有新的测试终端连接后, DDMS将捕捉到终端的ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的。
DDMS监听第一个终端应用程序进程的端口为8600,应用程序进程将分配8601,如果有更多终端或者更多应用程序进程将按照这个顺序依次类推。DDMS通过8700端口接收所有终端的指令。
可以通过 DDMS 的图形界面了解到更多 DDMS 的功能。
在这个面板可以看到所有与 DDMS 连接的终端的信息,以及每个终端正在运行的应用程序进程,每个进程的右边相对应的是与调试器链接的端口。因为Android是基于Linux内核开发的平台,同时也保留了Linux中特有的进程ID,它介于进程名和端口号之间。Devices面板如图 2-5 所示。
图 2-5 Devices 面板
通过这个面板的一些功能可以非常容易的使测试终端模拟真实手机所具备的一些交互功能。比如接听电话、根据选项模拟各种不同网络情况、模拟接受SMS消息和发送虚拟地址坐标用于测试 GPS 功能等。Emulator Contro 面板如图 2-6 所示。
Telephony Status 面板:通过选项模拟语音质量以及信号连接模式:
Telephony Actions面板:模拟电话接听和发送SMS到测试终端;
Location Control 面板:模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识。可以通过 Manual 面板手动为终端发送二维经纬坐标;或在 GPX 面板通过 GPX 文件导入序列动态变化地理坐标,从而模拟行进中 GPS 变化的数值:在KML 面板可以通过 KML 文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。
图2-6 Emulator Contro面板
Devices面板右边的窗口中还有Threads、Heap、Allocation Tracker、File Explorer、NetworkStatisties和System Information选项卡,如图2-7所示,可以显示线程统计信息、栈信息、内存分配跟踪情况、Android设备的文件系统、网络使用统计信息和Android设备的系统信息。
图 2-7 其他功能选项卡
在以上的这些选项卡中,最常使用的是File Explorer选项卡,它可以把文件上传到Android设备,或从Android设备下载文件,也可以进行文件删除操作。
在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面板
文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态
文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境
文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn
文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker
文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机
文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk
文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入
文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。 Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。
文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动
文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计
文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;gt;Jni-&amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图
文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法