资讯专栏INFORMATION COLUMN

使用ADB命令调试的总结

X_AirDu / 3339人阅读

摘要:使用命令调试的总结的全称是是的安装目录的子目录下的一个应用程序。此命令并不是所有的都能被启动,一般用于启动。

使用ADB命令调试的总结

ADB的全称是Android Debug Bridge,是SDK的安装目录的platform-tools子目录下的一个应用程序。

环境变量配置:

要想在命令行中直接使用adb,需要配置Path环境变量,变量值为:

D:aaronandroid-sdk-windowsplatform-tools
查看已连接设备:

查看当前运行的模拟器,该命令会罗列出当前已经以调试模式连接到计算机的所有设备。

adb devices
文件操作:

将PC上的文件push到设备中:

adb push d:xxx.txt /sdcard/

将设备中的文件pull到PC中:

adb pull /sdcard/xxx.txt d:aaron

注意,如果直接pull到磁盘根目录,直接用磁盘名即可,否则会报错No such file or directory

adb pull /sdcard/xxx.txt d

删除设备上的某一文件:需要用到sdb shell。

adb shell rm -rf /sdcard/1.txt
启动Shell:

启动shell后可以在shell中执行一些Linux的命令,比如rm,ls等。

adb shell

当然,也可以直接在命令行中调用adb shell shellcommand args,比如:

adb shell rm -rf /sdcard/1.txt

安装和卸载程序:

安装需要提供apk文件的完整路径。如果设备中已经存在该应用(Android中判定两个应用是否相同的依据是packageName是否相同),则会提示失败。

adb install d:xx.apk

卸载程序,需要跟完成的包名(依据应该是AndroidManifest文件中定义的包名)可选参数-k表示卸载后保留该程序产生的数据和缓存。如果设备中不存在该应用,则提示失败。

adb uninstall [-k] com.example.xxx
启动某一Activity:

借助shell中的am命令,简单实用如下,需要packageName以及AndroidManifest中Activity标签中的android:name的值。

adb shell am start com.example.demo/.MainActivity

此命令并不是所有的Activity都能被启动,一般用于启动LauncheActivity。

获取日志

该命令可以抓取到整个系统的所有日志,可以实用参数对日志进行优先级过滤。如果不跟路径名,则直接在终端输出日志,否则,输出到路径对应的文件,Ctrl+c结束日志抓取。

adb logcat *:[level] d:aaronlogcat.txt

过滤等级如下:

V —— Verbose 明细(最低优先级)
D —— Debug 调试
I —— Info 信息
W —— Warn 警告
E ——Error 错误
F —— Fatal 严重错误
S —— Silent 无记载(最高优先级,没有什么会被记载)
一次调试经历:师傅给的Demo,没有代码,通过am启动MainActivity打开后闪退,于是使用uninstall卸载然后install重装,完成后继续am启动,仍然闪退,于是改而查看日志,因为没有代码,无法编译,只能手动导出日志,使用logcat输出所有日志到文件,logcat只有Ctrl+c才会停止,在此期间,另开一个cmd,am启动MainActivity,然后退出logcat。在日志文件中搜寻所有Demo的包名,定位如下原因:E/AndroidRuntime(11354): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx/.MainActivity}: java.lang.RuntimeException: Fail to connect to camera service原因是相机无法打开,相机是正常的,唯一的原因是被自己写的Demo占用了,在DDMS中stop自己Demo的进程,重新am,启动成功。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14948.html

相关文章

  • 忘掉数据线,Android下使用无线调试

    摘要:开发过程中,大部分时候我们需要连接线通过做调试,实际上可以设置通过网络来连接,这个设置是在手机端,而不是在端,掌握几个小技巧,基本上可以永久抛弃数据线。 Android开发过程中,大部分时候我们需要连接usb线通过adb做调试,adb实际上可以设置通过网络来连接,这个设置是在手机端,而不是在pc端,掌握几个小技巧,基本上可以永久抛弃数据线。 初始设置 要想设置adb走无线网络,有几种方...

    alexnevsky 评论0 收藏0
  • 忘掉数据线,Android下使用无线调试

    摘要:开发过程中,大部分时候我们需要连接线通过做调试,实际上可以设置通过网络来连接,这个设置是在手机端,而不是在端,掌握几个小技巧,基本上可以永久抛弃数据线。 Android开发过程中,大部分时候我们需要连接usb线通过adb做调试,adb实际上可以设置通过网络来连接,这个设置是在手机端,而不是在pc端,掌握几个小技巧,基本上可以永久抛弃数据线。 初始设置 要想设置adb走无线网络,有几种方...

    luqiuwen 评论0 收藏0
  • 【为什么要用真机】——谈模拟器与真机差别

    摘要:安卓定制化现象严重,模拟器在某些方面往往达不到真机的真实水平。现在连系统都有余款了,安卓手机更是不用说了,主流的都有上千款。 现在很多开发者尤其是初学者做安卓开发的时候都是用的模拟器,但是众所周知,模拟器往往达不到真机真实水平,模拟的都是一些标准接口,对于一些非标准接口的BUG无法发现~,相信很多程序猿跟我有同样的遭遇,电脑配置不是很好,用模拟器往往是又卡又慢,甚是蛋疼。。。虽说and...

    617035918 评论0 收藏0
  • 用真机做远程调试两种方式

    摘要:需要的话就点这里吧有了这个云手机工具以后,点进去选一台手机,比如像我之前做远程调试的时候用的是一台点击租用以后你会看到这个真实的手机画面你可以用鼠标点击或者滑动屏幕,这台手机也会跟着动。 很多人在android 开发调试的时候会碰到这样一个问题,把手机和电脑通过USB连接上后两边都没有提示.重启手机和电脑还是有没有反应,只有充电的指示却没有USB连接的提示,这个时候你就会无法进行真机调...

    hlcfan 评论0 收藏0
  • 使用adb调试应用

    摘要:安卓开发中,是很重要的调试手段。比如,我在手机助手中,调试一个安装的页面,这个过程中就要反复下载应用安装,然后退出页面卸载,很麻烦,使用就只要一条命令就可以卸载应用了。 安卓开发中,adb是很重要的调试手段。其实,对于前端来说,adb工具也是学习一下的,因为它确实很方便。 比如,我在手机助手中,调试一个安装APP的页面,这个过程中就要反复下载应用安装,然后退出页面卸载,很麻烦,使用ad...

    BWrong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<