如何使用`adb`仅为一个用户安装开发应用程序?

For*_*sch 23 java android adb

平板电脑上的Android 4.2添加了对每台设备多个用户的支持(类似于桌面操作系统),每个用户都可以独立安装和删除应用.目前,使用adb install /path/to/app.apk全局安装应用程序; 每个用户都可以看到并启动它(就像每个用户从Play商店安装相同的应用程序一样).

有没有办法将adb install应用程序放到设备上,以便只有一个用户可以在启动器菜单中看到它?

pet*_*tek 15

adb install现在支持--user USER_ID参数,因此为了为某个用户安装 APK,请使用:

adb install --user USER_ID PATH_TO_APK
Run Code Online (Sandbox Code Playgroud)

为了找出 USER_ID,请使用adb shell pm list users.

有关详细信息,请参阅https://source.android.com/devices/tech/admin/multi-user-testing


Mic*_*nes 7

它可能没有针对每个用户的“adb install”,但是当您想要实际运行 APK 进行测试时,它确实具有针对每个用户的“开始”选项。默认情况下,文档说“开始”只会为当前正在运行的用户启动,但您可以这样做

adb shell am start --user USER activity...
Run Code Online (Sandbox Code Playgroud)

以其他人的身份启动 APK。要获取用户列表,请运行

adb shell pm list users
Run Code Online (Sandbox Code Playgroud)


Buf*_*ffK 6

pm enable [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable [--user USER_ID] PACKAGE_OR_COMPONENT
Run Code Online (Sandbox Code Playgroud)

pm enable --user 12 org.mozilla.firefox_beta

  • pm 启用后,应用程序永远不会为用户 12 显示。(之前为用户 0 安装)(android 7.1.2) (2认同)