通过分离用户帐号和应用数据,Android 支持在一台 Android 设备上添加多个用户。例如,父母可能会允许他们的孩子使用家庭平板电脑,一个家庭可以共用一辆汽车。Android Automotive 依靠 Android 的多用户实现来提供共用设备体验。
| 路径 | 系统路径(可选) | 用途 |
| /data/user/{userId}/{app.path} | /data/data | 应用存储空间 |
| /storage/emulated/{userId} | /sdcard | 共享内部存储空间 |
| /data/media/{userId} | 无 | 用户媒体数据(例如,音乐和视频) |
| /data/system/users/{userId} | 无 | 每个用户的系统配置/状态只能由系统应用访问 |
适用于shell操作.
| ADB指令 | 描述 |
| adb shell am instrument --user | 可针对特定用户运行插桩测试。默认情况下,此命令使用当前用户。 |
| adb install --user | 可为特定用户安装软件包。要确保为所有用户安装软件包,您必须为每个用户调用此命令。 |
| adb uninstall --user | 可为特定用户卸载软件包。如果调用此命令时不带 --user 标记,可为所有用户卸载软件包。 |
| adb shell am get-current-user | 可获取当前(前台)用户 ID。 |
| adb shell pm list users | 可获取所有现有用户的列表。 |
| adb shell pm create-user | 可创建新用户并返回 ID。 |
| adb shell am start-user | 启动用户 |
| adb shell am switch-user | 切换用户 |
| adb shell pm remove-user | 可按 ID 移除特定用户。 |
| adb shell pm disable --user | 可为特定用户停用软件包。 |
| adb shell pm enable --user | 可为特定用户启用软件包。 |
| adb shell pm list packages --user | 可为特定用户列出软件包(-e 可列出已启用的软件包,-d 可列出已停用的软件包)。默认情况下,此命令始终为系统用户列出软件包。 |
注意:shell 命令下查看的都是userid 为0的路径。查看其它用户的目录权限受限 :
多用户如何读写文件?