V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
acess
V2EX  ›  Android

Android 的多用户支持搞得我有点晕了

  •  
  •   acess · 2020-06-26 14:48:16 +08:00 · 11144 次点击
    这是一个创建于 1645 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我安装了炼妖壶这个 app,据称,它利用的是 Android for Work,可以创建一个独立的工作空间,里面可以安装 app,和外界是隔离的。
    实际上这个机制貌似还是基于 Android 的多用户管理的。

    不知道是不是因为我装了炼妖壶(它里面的黄帝之名之类的我以前开过,现在应该是没开),最近我发现一个奇怪的现象:

    通过 adb 安装的一个 app,在启动器上长按图标->应用信息->卸载,然后发现实际上没卸载(安装另一个重签名同包名 apk 会报错),貌似只是对当前用户卸载了,必须 pm uninstall 才是真正的卸载。

    所以,我有点晕了……我感觉似乎应该有另一个独立的“全局应用管理”,用来在全局层面上卸载 /更新 app ?
    10 条回复    2021-09-24 14:33:59 +08:00
    codehz
        1
    codehz  
       2020-06-26 14:53:18 +08:00   ❤️ 1
    是你 adb 安装的时候没选择具体用户(我记得 android studio 已经支持了)
    winterbells
        2
    winterbells  
       2020-06-26 14:55:17 +08:00 via Android
    要到 设置-应用 里找到其他用户安装的
    或者卸载时长按对应的图标

    之前遇到过个 bug,安装时默认安装在其他用户空间。谷歌商店清除数据后解决了(氧 OS 自带的多开
    acess
        3
    acess  
    OP
       2020-06-26 14:56:31 +08:00
    @codehz 确实没有。但是我觉得这简直像个陷阱一样。我当时是再次 pm install 时报错才发现其实没卸载掉的。
    RikkaW
        4
    RikkaW  
       2020-06-27 01:52:49 +08:00
    学艺不精才会觉得有问题(
    acess
        5
    acess  
    OP
       2020-06-27 02:33:53 +08:00
    @RikkaW 为什么我会感觉有问题,是因为我以机主身份卸载的时候,并没有任何提示说其他用户(或者说工作空间)里面也有这个 app,我感觉按理说这里应该有个提示,甚至是提供一个选项来“给所有用户卸载本 app”。

    还有一个细节,就是我当时在尝试安装一个解包修改并重签名过的 apk.虽然这么做很多时候确实不是要干什么好事,但是一个 apk 就这样因为签名不符而拒绝安装,我还是感觉有些奇怪的。adb install 就算默认同时给所有用户安装,好像也不至于因为另一个(非机主)用户安装了重签名 apk 而拒绝给机主安装同包名 apk……凭直觉的话两个用户之间应该是井水不犯河水的才对。
    acess
        6
    acess  
    OP
       2020-06-27 02:34:23 +08:00
    也有可能是有提示的,但是我没看到,或者忘了……

    哎,这个问题确实也不是很重要。
    RikkaW
        7
    RikkaW  
       2020-06-27 12:39:10 +08:00   ❤️ 1
    @acess 扯这么多还不是因为用 adb 安装时没有指定 user,所以脑内没有被安装到了所有用户的概念。正常的安装只会安装到一个用户,卸载时也是从一个用户卸载是符合逻辑的。
    另外 apk 只存在一份,不同用户不能拥有不同的 apk 。这么做有一定的道理,因为有些东西是能跨用户工作的(
    acess
        8
    acess  
    OP
       2020-06-28 00:02:44 +08:00
    @RikkaW “另外 apk 只存在一份,不同用户不能拥有不同的 apk 。”
    哎,说了半天,其实问题本质就是这个吧。

    我还有另一个地方疏忽了,就是工作空间里的 app 在应用列表里也是有出现的,所以把它卸载掉其实没有什么障碍。除此之外炼妖壶的壶中界里也有列出这个 app,也有卸载的选项。这个应该也是我当时疏忽了,没注意到。
    (不过我迷迷糊糊记得当时好像不是这么简单,貌似当时就是能找的地方都卸载了,但实际上还没卸掉……哎,也许当时熬夜了,意识模糊了吧,反正我现在怎么折腾也没发现这方面有 bug )

    总之我确实没把问题说清楚,浪费大家时间了,抱歉。
    acess
        9
    acess  
    OP
       2020-06-28 00:30:19 +08:00
    @RikkaW 想了想,我还是觉得“apk 只有一份”这个设定有那么一点点坑……

    如果在访客账户(访客也是需要先以机主身份解锁才能创建的)里安装了同包名的 apk (可能是重签名的,也可能压根就彻头彻尾是仿冒的,或者就是极小概率事件,也就是包名冲突了,完全是两个压根不搭界的 app ),那机主想安装这个 apk 可能就装不了了。
    确实,这没什么实质危害,实际上在系统设置的应用列表里也可以看到被标注为“未针对此用户安装”的项目,而且点开后也提供“为所有用户卸载”这个选项。但是如果一时半会想不到这点,那也许会有点坑,尤其是同包名 apk 显示成完全不同的图标和名字那种情况。

    我感觉这也许被熊孩子用来恶作剧,坑那些不太会玩手机的大人;或者就是把手机借给不太会玩的长辈 /舍友等人时创建了新账户,但是他们不小心安装了重签名 apk,这样的话自己想装正牌签名的 apk 就会“莫名其妙”地装不了……
    h9VZ3hilI68DVl36
        10
    h9VZ3hilI68DVl36  
       2021-09-24 14:33:59 +08:00
    老哥 你这个问题解决了吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2756 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 13:01 · PVG 21:01 · LAX 05:01 · JFK 08:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.