Android Day01-DDMS和ADB的使用

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介:

一、DDMS的使用

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

    进入DDMS之后,界面如下:

    

wKiom1WlJeHgfa8LAAoQXVLoB8k940.jpg


二、ADB的使用

  adb环境变量的配置:

   http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html    


  adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。

        在使用adb指令之前,应该将adb所在目录配置到环境变量Path中去,这样在CMD命令行就能直接使用adb指令。

        常用adb命令:

        https://www.cnblogs.com/bravesnail/articles/5850335.html


        1.adb devices:列出当前电脑连接的所有Android设备(包括真机和模拟器),可以查看设备的序列号,作为设备的唯一标识。

        2.adb占用的端口是5037,可以在cmd中输入 netstat -oan命令来列出当前电脑所占有的所有端口,通过查看5037端口对应的PID,去任务管理器查询,就知道是哪个应用程序占据了这个端口,可以将这个程序关掉。

    3.adb kill-server:中断adb服务,在DDMS中的devices可以看到设备会消失。

    4.adb start-server:重启adb服务,在DDMS中的devices中可以看到设备又出现了。

    5.adb [-s android设备序列号] install [-r] APK文件的带盘符路径:安装应用程序。

        如果设备多于1台设备,需要指定-s加参数指定设备序列号(可以通过devices命令查看)

        -r指的是强制安装,即如果不用-r,如果设备上有将要安装的这个应用程序,会安装失败。如下图:

    如果你想把网络上下载的APP安装到虚拟机上,就要用到这个命令.

wKioL1Wj-zejOtAoAAH4fuxWos0546.jpg

    6. adb [-s android设备序列号] uninstall 应用程序包名:卸载应用程序。 

        如果设备多于1台设备,需要指定-s加参数指定设备序列号(可以通过devices命令查看)

        因为应用程序的包名可以唯一标识应用程序,通过包名就可以卸载应用程序。

   7. adb [-s android设备序列号] shell:进入设备的linux目录,命令会出现#,表示等待用户输入linux指令。在DDMS中的File Explorer的设备文件目录,就是用linux指令来列出来的。

       # ls -l:列出手机目录信息

        # logcat:查看手机日志信息

   8. adb pull    :将文件从设备拷贝到电脑

   9. adb push    :将文件从电脑拷贝到设备

   10. # cat  文件名(带后缀)         打印文件内容,比如在向sp更新内容之后,不必要每次都把文

        件pull到电脑上查看,可以使用这个命令在打印文件查看内容。

   11.adb wifi调试

     1)手机开一个wifi,让电脑连上。

     2)命令行 adb tcpip 5555

     3) 命令行 adb connect 192.168.43.1(固定)

            


ADB的实际应用场景

   1.安装APK adb install , 如果有了apk,但是没有什么手机助手。只能用这种方式安装了。

   2.我们公司的设备,一开始设备装了个应用,会自动启动。应用将回退按钮给屏蔽了,系统也没有悬浮球操作按钮,无法回到桌面。我就想了使用adb

    查看手机运行的进程 http://blog.csdn.net/xingchenxuanfeng/article/details/50386689    adb shell ps

    根据这个应用的名字,我大致就猜出了它的包名,执行adb uninstall 包名果断卸载,然后adb install 我的应用包名

  

    我的应用装上了,我也想回到桌面啊,uninstall自己的应用太low了,用 adb shell am force-stop 包名,即可停止应用 。

   3) adb shell input key event 4 (模拟android系统的返回键)

          键值参考:http://blog.csdn.net/itfootball/article/details/37567373


       

ADB使用的问题

   1) file explore下的data/data目录不显示:https://www.cnblogs.com/smyhvae/p/3881477.html

      adb shell

      su

     chmod 777 data (一级一级的去改变权限)

   

              



      本文转自屠夫章哥  51CTO博客,原文链接:http://blog.51cto.com/4259297/1673947,如需转载请自行联系原作者




相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
2月前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
141 1
|
2月前
|
Shell Android开发
ADB更改Android设备屏幕显示方向
ADB更改Android设备屏幕显示方向
119 5
|
1月前
|
Shell 开发工具 Android开发
|
2月前
|
Java Android开发
Android 对adb命令的拦截
Android 对adb命令的拦截
35 2
|
2月前
|
Shell Android开发
Android Activity重写dump方法实现通过adb调试代码
Android Activity重写dump方法实现通过adb调试代码
31 0
|
Shell Linux Android开发
Android强大的原生调试工具adb的常用命令
Android强大的原生调试工具adb的常用命令
|
Android开发 Shell
android adb常用命令
命令通用格式 adb [-d|-e|-s] 命令通用格式,adb是必须的,接下来方括号[]里面的内容不是必须的,最后才是我们需要执行的命令操作,例如 adb -s emulator-5554 install xxxer.
1066 0
|
5天前
|
开发工具 Android开发 iOS开发
探索Android与iOS开发的差异与挑战
【7月更文挑战第11天】在移动应用开发的广阔天地中,Android和iOS两大平台如同双子星座般耀眼,各自拥有独特的开发生态和用户群体。本文将深入分析这两个平台的显著差异,从技术架构到开发工具,再到市场定位,揭示它们之间的异同。通过比较,我们不仅能够更好地理解各自的优势和局限,还能洞察未来移动应用开发的趋势。
|
8天前
|
Java Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【7月更文挑战第8天】在移动应用开发的广阔天地中,Android与iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发环境、用户界面设计、性能优化以及市场覆盖等方面的根本差异,并分析这些差异如何影响项目的成功。通过比较和分析,旨在为开发者在选择平台时提供更全面的视角,帮助他们根据项目需求和目标市场做出更明智的决策。