【问题标题】:Difference between adb uninstall and adb uninstall --user 0adb 卸载和 adb 卸载之间的区别 --user 0
【发布时间】:2021-11-18 17:23:34
【问题描述】:

我最近发现我可以通过以下方式从设备中删除出厂版本的 chrome:

adb uninstall --user 0 com.android.chrome

但是,卸载该应用后,我无法再重新安装 chrome:

adb install-multiple chrome-split-apk-dir

该命令没有失败,但是安装完成后设备上没有 chrome:

$ pm list packages | grep chrome
1

但是我可以再次使用 --user 0 选项安装 chrome:

adb install-multiple --user 0 chrome-split-apk-dir

我的问题:

  • 为什么我可以卸载工厂chrome版本--user 0?我以为如果不包括用户,默认情况下会从所有用户中卸载该应用,包括--user 0,所以行为应该不会有所不同。
  • 为什么我现在只能使用--user 0重新安装chrome?

谢谢!

【问题讨论】:

    标签: android apk adb


    【解决方案1】:

    --user 指定要运行的用户,而不是卸载它的用户。 0 在 Linux 中是 root。您告诉它以 root 身份运行卸载命令,这显然具有更高的权限并且可以执行此操作。普通用户不会也不能。安装也是如此。

    【讨论】:

    • 这是有道理的。但是为什么chrome在用root卸载后只能用root重新安装呢?
    • 我发现如果我在没有root用户的情况下安装,然后运行这个命令:cmd package install-existing com.android.chrome,应用会重新出现。
    • 运行上述命令前后chrome包的dumpsys略有不同。之前:User 0: ceDataInode=0 installed=false hidden=false suspended=false stopped=true notLaunched=true enabled=0 instant=false virtual=false,之后:User 0: ceDataInode=9797 installed=true hidden=false suspended=false stopped=false notLaunched=false enabled=0 instant=false virtual=false
    猜你喜欢
    • 2012-11-12
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 2020-11-15
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多