Mobile Phones Guide
Android 4.1 Code Hints at Multiple User Account Support
*Update: XDA-developer forum member zanderman112 posted a tutorial and video showing how to create a secondary account using a terminal emulator.
If there's one thing stopping Android from being a full fledged desktop operating system (OS), it would be the support for multiple user accounts. Now, it seems that there is no question about it coming to the Android platform after developers stumbled upon a code in Android 4.1 that hint of a multi-user setup.
Quoting information from developer friends, Phandroid claims that Google is working behind the scenes to incorporate multi-user account support all over Android 4.1. Developer Steven went the extra mile to piece together a guide using ADB Shell.
Exploring Jelly Bean’s Unfinished Multiple Profile Switching Discovery and Testing Performed by Kevin Barry of TeslaCoil Software.
Commands (using ADB Shell)
pm = PackageManager
am = ActivityManager
pm create-user test (creates a user, ‘test’ in this example)
am switch-user 1 (switches to user ‘1’, which is ‘test’)
am switch-user 0 (switches to user ‘0’, which is your original configuration)
pm list-users (lists all users on current device)
pm remove-user 1 (removes the user ‘1’,which is ‘test’ in this example. Note that create-user takes a string name while remove-user takes an integer)
Things To Note:
App settings are in /data/user/0/ with /data/data symlinked to it for backwards compatibility
Some system settings are in /data/system/users/0/ rather than just /data/system/
You can view 2011 commit messages in AOSP for all of these commands
Visually you can not determine what user is currently active.
Notifications and recent apps do not clear (remember… unfinished) and causes confusion to what user you’re on and will switch to whatever user that is running that particular app you click on.
Static wallpapers do not switch per user (seems to be shared) but live wallpapers do switch with each user.
Encrypted apps, which is all paid apps from the Play Store in Jellybean, will FC between users. For example: if you run a paid app from one user on a different user that did not originally install the app, you will get the following error: "E/AndroidRuntime( 8707): Caused by: java.lang.ClassNotFoundException: com.levelup.beautifulwidgets.BeautifulWidgets"
Apps all have different settings which allows you to login or have different settings per user. (even gmail)
Example Shell (ADB):
shell@android:/ # pm list-users
Apparently, Phandroid is not alone in making this discovery. Android Police also made a similar finding and added on that commits were being pushed to the Android Open Source Project (AOSP) since 14th April 2011 and as recent as 28th March, 2012. For those who are unfamiliar with the technical terms, here's a brief explanation:
- AOSP: the publicly available code base for Android
- Commit: a code push to the code repository. A Googler will usually include a helpful comment with each commit so that people know what the new code will accomplish.
You can check out the detailed analysis and findings done by Android Police on the AOSP here. The question on our minds - when is it coming? Android 5.0, anyone?