adb“安装”命令和“pm install”命令之间的区别?

Posted

技术标签:

【中文标题】adb“安装”命令和“pm install”命令之间的区别?【英文标题】:Difference between adb "install" command and "pm install" command? 【发布时间】:2015-04-25 11:52:07 【问题描述】:

使用install 命令安装应用程序和使用包管理器的pm install 命令安装应用程序有什么区别?他们做同样的工作吗?一个命令实际上在后面调用另一个命令吗?

adb install -r APK_FILE
adb shell pm install APK_FILE

【问题讨论】:

【参考方案1】:

adb install 是从开发主机运行的命令,它会在某个临时位置上传一个包,然后安装它。

pm install 是在设备本地运行的命令。

adb 确实在设备上使用了pm 程序 - 请参阅源代码

https://android.googlesource.com/platform/system/core/+/kitkat-mr2.2-release/adb/commandline.c

【讨论】:

更新链接:android.googlesource.com/platform/system/adb/+/refs/heads/… 指向特定版本的原因是事物的实现方式往往会在版本之间发生变化,并且“head”不是特定版本,因此不是稳定的链接,例如,什么是 .今天的 c 文件可能是下一次的 .cpp 文件,或者其他什么。 那么鉴于 adb 确实在设备上使用了pm 程序,这是否意味着它应该采用所有相同的命令行选项?我看到的行为是不同的。例如,adb shell pm install(在 Android 10 设备上)拒绝像 --no-incremental--wait 这样的选项,并出现“未知选项 --no-incremental”等错误。而adb install 没有给出这样的错误(但可能会忽略这些选项)。

以上是关于adb“安装”命令和“pm install”命令之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Android之adb命令

移动端自动化测试之adb常用命令

自助机全屏设置之adb命令使用

玩转Android monkey之环境配置和ADB命令

adb shell 命令之----pm

android之adb命令