linux怎么用adb调试模式,使用ADB命令调试的总结

使用ADB命令调试的总结

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

环境变量配置:

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

D:aaronandroid-sdk-windowsplatform-tools

查看已连接设备:

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

adb devices

bVbss47?w=259&h=63

文件操作:

将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

bVbss5c?w=596&h=239

安装和卸载程序:

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

adb install d:xx.apk

bVbss5h?w=571&h=99

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

adb uninstall [-k] com.example.xxx

bVbss5X?w=426&h=52

启动某一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,启动成功。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值