6

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

首先,为什么会发生这种情况?默认情况下,该android:requiredForAllUsers标志false只能由系统应用程序或预安装的应用程序使用。

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

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

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

支持多用户

管理多个用户

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

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

4

3 回答 3

3

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

参考:Android Studio 2.3.2 在目标设备上的工作配置文件或其他用户帐户下启动应用程序会导致崩溃

于 2020-01-16T13:44:01.507 回答
2

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

选择启动配置

在此处输入图像描述

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

在此处输入图像描述

于 2020-08-19T14:50:40.597 回答
1

对于 Android Studio 4.2 GoTo Run > Edit Configurations 然后检查所有用户的安装(对于个人和工作配置文件)并取消选中仅个人配置文件 就像下面的屏幕截图一样允许多个用户

于 2021-06-23T05:49:17.573 回答