【问题标题】:Prevent Android App from getting installed on multiple users防止 Android 应用安装在多个用户上
【发布时间】:2020-01-16 11:23:08
【问题描述】:

当我从 Android Studio 运行我的应用并将其安装到设备上的主要用户时,我注意到它也会安装到次要用户。

首先,为什么会发生这种情况? android:requiredForAllUsers标志默认为false,在任何情况下只能被系统应用或预装应用使用。

还是只有通过 Android Studio 安装的调试模式应用才会出现这种情况?

我怎样才能防止这种情况发生?

对于我的应用来说,仅安装在一个用户上是至关重要的。我已经阅读了以下文件:

Supporting Multiple Users

Manage multiple users

这些文档都没有解释安装过程是否以及如何受到多用户功能的影响。

肯定有一些清单或构建设置允许或阻止在多个用户上安装。为什么不容易找到?为什么这个问题在 SO 上不常见?

【问题讨论】:

  • 我想知道你是如何测试这个的?如果我在具有 Android 10 的模拟器中打开多个用户并打开来宾用户,则不会显示我在所有者用户上安装的应用。
  • 您可以尝试使用辅助用户,而不是访客用户吗?有关差异,请参阅上面的文档。而且我正在真实设备上进行测试... :)
  • @David 这很有趣。还没有遇到崩溃,但我们需要指定用户这一事实很有趣。很酷的东西!

标签: android android-install-apk android-multiple-users


【解决方案1】:

您不会阻止它,而是做您需要做的事情:在这种情况下,它将定义您的run configuration,因此该应用程序只会安装在您想要的位置,因为默认情况下它会安装在我想的任何地方。您可以通过指定标志 --user user_id 来做到这一点。您可以使用 adb shell pm list users

获取 id

参考:Android Studio 2.3.2 Launching the app under a work profile or another user account on the target device will result in a crash

【讨论】:

  • 有趣。感谢您花时间回答。
【解决方案2】:

最简单的方法是添加--user current 标志来启动配置。

选择启动配置

Install Flags下,添加标志--user current。这将确保该应用仅安装在当前用户上,而不是任何访客帐户上。

【讨论】:

    【解决方案3】:

    适用于 Android Studio 4.2 转到运行 > 编辑配置,然后检查所有用户的安装(对于个人和工作配置文件)并仅取消选中个人配置文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 2020-03-01
      • 2015-02-16
      相关资源
      最近更新 更多