【问题标题】:How to use `adb` to install development apps for one user only?如何使用`adb`仅为一个用户安装开发应用程序?
【发布时间】:2022-01-26 07:42:18
【问题描述】:

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

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

【问题讨论】:

  • Android 用户,而非计算机用户。运行 >4.2 的 Android 平板电脑允许您在一台设备上拥有多个用户。我想只为一个用户安装我的开发应用程序,而不是为设备上的每个用户安装。
  • @LokiSinclair :从 4.2 开始,android 允许在一个设备上拥有多个用户。问题是如何在安装应用程序时针对特定用户。
  • 请不要因不熟悉android多用户功能而关闭投票。对于具有此功能的最新设备,这个问题非常明确和具体。

标签: java android adb


【解决方案1】:

adb install 现在支持--user USER_ID 参数,所以为了给某个用户安装APK,使用:

adb install --user USER_ID PATH_TO_APK

要找出 USER_ID,请使用adb shell pm list users

详情请见https://source.android.com/devices/tech/admin/multi-user-testing

【讨论】:

  • 这是最新的答案。可以将其编辑为可接受的答案吗?
【解决方案2】:
pm enable [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable [--user USER_ID] PACKAGE_OR_COMPONENT

pm enable --user 12 org.mozilla.firefox_beta

【讨论】:

  • 在 pm enable 之后,应用永远不会为用户 12 显示。(以前为用户 0 安装)(android 7.1.2)
【解决方案3】:

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

adb shell am start --user USER activity...

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

adb shell pm list users

【讨论】:

    【解决方案4】:

    这里是 adb 工具的完整文档:http://developer.android.com/tools/help/adb.html adb install 没有提供任何方式来指定目标用户。

    【讨论】:

      【解决方案5】:

      当我在手机上安装 React Native 应用时遇到问题,并且上面有单独的工作配置文件时,我偶然发现了这篇文章。出于某种原因,感觉就像是在随机选择要在哪个配置文件上安装应用程序。

      这是我手动指定用户的操作:

      1. 至少构建一次应用程序:

        npx react-native run-android
        
      2. 根据需要卸载:

        adb uninstall <your package name here>
        
      3. 手动安装应用。 APK 路径应相对于项目的顶层:

        adb install --user 0 ./android/app/build/outputs/apk/debug/app-debug.apk
        

      【讨论】:

        猜你喜欢
        • 2022-08-03
        • 2014-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多