android adb e,ADB 常用命令整理

远程连接Android 使用adb,远程操作屏幕推荐使用Scrcpy,以下为个人学习记录使用

1、命令语法

adb [-d|-e|-s ]

如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s ] 这一部分,直接使用 adb 。

如果有多个设备/模拟器连接,则需要为命令指定目标设备。

参数含义-d指定当前唯一通过 USB 连接的 Android 设备为命令目标

-e指定当前唯一运行的模拟器为命令目标

-s 指定相应 serialNumber 号的设备/模拟器为命令目标

2、设备查询

adb devices

fa1980fb1fac0cba08163c79e3826dad.png

输出格式为 [serialNumber] [state],serialNumber 即我们常说的 SN,state 有如下几种:

offline —— 表示设备未连接成功或无响应。

device —— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。

no device —— 没有设备/模拟器连接。

3、打印屏幕分辨率信息

adb shell dumpsys window displays

打印简单方式:

adb shell wm size

0d7bd009593cebaba425686e65a6e7aa.png

4、启动/停止

启动:adb start-server

停止:adb kill-server

5、无线链接/断开

链接:adb connect

断开:adb disconnect

如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect  那一步;

如果还是不行的话,通过 adb kill-server 重新启动 adb 然后从头再来一次试试。

6、查看应用列表

adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]

查看所有应用:adb shell pm list packages

参数显示列表无所有应用

-f显示应用关联的 apk 文件

-d只显示 disabled 的应用

-e只显示 enabled 的应用

-s只显示系统应用

-3只显示第三方应用

-i显示应用的 installer

-u包含已卸载应用

包名包含  字符串

7、安装APK

adb install [-lrtsdg]

adb install 后面可以跟一些可选参数来控制安装 APK 的行为,可用参数及含义如下:

参数含义-l将应用安装到保护目录 /mnt/asec

-r允许覆盖安装

-t允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用

-s将应用安装到 sdcard

-d允许降级覆盖安装

-g授予所有运行时权限

常见安装失败输出代码、含义及可能的解决办法如下:

输出含义解决办法INSTALL_FAILED_ALREADY_EXISTS应用已经存在,或卸载了但没卸载干净adb install 时使用 -r 参数,或者先 adb uninstall  再安装

INSTALL_FAILED_INVALID_APK无效的 APK 文件

INSTALL_FAILED_INVALID_URI无效的 APK 文件名确保 APK 文件名里无中文

INSTALL_FAILED_INSUFFICIENT_STORAGE空间不足清理空间

INSTALL_FAILED_DUPLICATE_PACKAGE已经存在同名程序

INSTALL_FAILED_NO_SHARED_USER请求的共享用户不存在

INSTALL_FAILED_UPDATE_INCOMPATIBLE以前安装过同名应用,但卸载时数据没有移除;或者已安装该应用,但签名不一致先 adb uninstall  再安装

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE请求的共享用户存在但签名不一致

INSTALL_FAILED_MISSING_SHARED_LIBRARY安装包使用了设备上不可用的共享库

INSTALL_FAILED_REPLACE_COULDNT_DELETE替换时无法删除

INSTALL_FAILED_DEXOPTdex 优化验证失败或空间不足

INSTALL_FAILED_OLDER_SDK设备系统版本低于应用要求

INSTALL_FAILED_CONFLICTING_PROVIDER设备里已经存在与应用里同名的 content provider

INSTALL_FAILED_NEWER_SDK设备系统版本高于应用要求

INSTALL_FAILED_TEST_ONLY应用是 test-only 的,但安装时没有指定 -t 参数

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE包含不兼容设备 CPU 应用程序二进制接口的 native code

INSTALL_FAILED_MISSING_FEATURE应用使用了设备不可用的功能

INSTALL_FAILED_CONTAINER_ERRORsdcard 访问失败; 2. 应用签名与 ROM 签名一致,被当作内置应用确认 sdcard 可用,或者安装到内置存储; 2. 打包时不与 ROM 使用相同签名

INSTALL_FAILED_INVALID_INSTALL_LOCATION不能安装到指定位置; 2. 应用签名与 ROM 签名一致,被当作内置应用切换安装位置,添加或删除 -s 参数; 2. 打包时不与 ROM 使用相同签名

INSTALL_FAILED_MEDIA_UNAVAILABLE安装位置不可用一般为 sdcard,确认 sdcard 可用或安装到内置存储

INSTALL_FAILED_VERIFICATION_TIMEOUT验证安装包超时

INSTALL_FAILED_VERIFICATION_FAILURE验证安装包失败

INSTALL_FAILED_PACKAGE_CHANGED应用与调用程序期望的不一致

INSTALL_FAILED_UID_CHANGED以前安装过该应用,与本次分配的 UID 不一致清除以前安装过的残留文件

INSTALL_FAILED_VERSION_DOWNGRADE已经安装了该应用更高版本使用 -d 参数

INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE已安装 target SDK 支持运行时权限的同名应用,要安装的版本不支持运行时权限

INSTALL_PARSE_FAILED_NOT_APK指定路径不是文件,或不是以 .apk 结尾

INSTALL_PARSE_FAILED_BAD_MANIFEST无法解析的 AndroidManifest.xml 文件

INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION解析器遇到异常

INSTALL_PARSE_FAILED_NO_CERTIFICATES安装包没有签名

INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES已安装该应用,且签名与 APK 文件不一致先卸载设备上的该应用,再安装

INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING解析 APK 文件时遇到 CertificateEncodingException

INSTALL_PARSE_FAILED_BAD_PACKAGE_NAMEmanifest 文件里没有或者使用了无效的包名

INSTALL_PARSE_FAILED_BAD_SHARED_USER_IDmanifest 文件里指定了无效的共享用户 ID

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED解析 manifest 文件时遇到结构性错误

INSTALL_PARSE_FAILED_MANIFEST_EMPTY在 manifest 文件里找不到找可操作标签(instrumentation 或 application)

INSTALL_FAILED_INTERNAL_ERROR因系统问题安装失败

INSTALL_FAILED_USER_RESTRICTED用户被限制安装应用

INSTALL_FAILED_DUPLICATE_PERMISSION应用尝试定义一个已经存在的权限名称

INSTALL_FAILED_NO_MATCHING_ABIS应用包含设备的应用程序二进制接口不支持的 native code

INSTALL_CANCELED_BY_USER应用安装需要在设备上确认,但未操作设备或点了取消在设备上同意安装

INSTALL_FAILED_ACWF_INCOMPATIBLE应用程序与设备不兼容

does not contain AndroidManifest.xml无效的 APK 文件

is not a valid zip file无效的 APK 文件

Offline设备未连接成功先将设备与 adb 连接成功

unauthorized设备未授权允许调试

error: device not found没有连接成功的设备先将设备与 adb 连接成功

protocol failure设备已断开连接先将设备与 adb 连接成功

Unknown option: -sAndroid 2.2 以下不支持安装到 sdcard不使用 -s 参数

No space left on device空间不足清理空间

Permission denied … sdcard …sdcard 不可用

signatures do not match the previously installed version; ignoring!已安装该应用且签名不一致先卸载设备上的该应用,再安装

8、卸载应用

adb uninstall [-k]

 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。

9、查看正在运行的Service

adb shell dumpsys activity services []

 参数不是必须的,指定  表示查看与某个包名相关的 Services,不指定表示查看所有 Services。

 不一定要给出完整的包名,比如运行 adb shell dumpsys activity services org.mazhuang,那么包名 org.mazhuang.demo1、org.mazhuang.demo2 和 org.mazhuang123 等相关的 Services 都会列出来。

10、调起Activity

adb shell am start [options]

例如:

adb shell am start -n com.tencent.mm/.ui.LauncherUI

表示调起微信主界面。

adb shell am start -n org.mazhuang.boottimemeasure/.MainActivity --es "toast" "hello, world"

表示调起 org.mazhuang.boottimemeasure/.MainActivity 并传给它 string 数据键值对 toast - hello, world。

11、调起Service

adb shell am startservice [options]

例如:

adb shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService

12、强制停止应用

adb shell am force-stop

命令示例:

adb shell am force-stop com.qihoo360.mobilesafe

13、复制设备文件到电脑

adb pull [电脑上的目录]

其中 电脑上的目录 参数可以省略,默认复制到当前目录。

例:

adb pull /sdcard/sr.mp4 ~/tmp/

小技巧:设备上的文件路径可能需要 root 权限才能访问,如果你的设备已经 root 过,可以先使用 adb shell 和 su 命令在 adb shell 里获取 root 权限后,先 cp /path/on/device /sdcard/filename 将文件复制到 sdcard,然后 adb pull /sdcard/filename /path/on/pc。

14、复制电脑里文件到设备

adb push

例:

adb push ~/sr.mp4 /sdcard/

小技巧:设备上的文件路径普通权限可能无法直接写入,如果你的设备已经 root 过,可以先 adb push /path/on/pc /sdcard/filename,然后 adb shell 和 su 在 adb shell 里获取 root 权限后,cp /sdcard/filename /path/on/device。

标签:应用,FAILED,adb,INSTALL,常用命令,整理,ADB,安装,设备

来源: https://blog.csdn.net/huoguangyao/article/details/113176706

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值