On most middle to high end Android devices released after 2016, Island can be setup straightforward without hassle. But still on some devices, you may got “incompatible with your device” message on Google Play Store, or be notified during the setup with error message “Sorry, your device (or ROM) is incompatible with Island”, or other failures. In these cases, Island could probably still work on your device if setup manually.
If you are prompted to encrypt your device during the setup, it means your device was not pre-encrypted out of box. If you don’t want device decription (which may significantly degrade overall I/O performance on some low-end devices), it can be avoided with manual setup.
First of all, you need to connect your Android device to a computer with USB cable, and the official ADB tool provided by Google.
To check whether the USB-connected Android device is properly recognized by your computer, type the following command in the shell (or Command Prompt on Windows):
If no device is listed in the output, your Android device is not correctly recognized by the computer.
For Windows PC, this official guide and driver list for common OEM might be helpful. If it does not work out, the official Google Android USB driver should work for most Android devices, just manually install it, and select “Android ADB Interface” or “Android Composite ADB Interface”.
If your device is Xiaomi branded or runs MIUI, extra steps are required:
- In system “Settings - Additional settings - Developer options”, enable “USB debugging (Security settings)”.
- In system “Settings - Permissions - Autostart”, enable “Island”. (grant auto-start permission)
Manual setup for Island
adb -d shell to open ADB shell, and execute the following commands one by one in sequence:
pm create-user --profileOf 0 --managed Island
If succeed, you will be prompted with the ID of newly created user (usually 10 or above). Remember it and replace the
<user id>in following commands with this ID.
If you got “Error: couldn’t create User”, execute
setprop fw.max_users 10first, then retry the command above.
pm path com.oasisfeng.island
It prints the path of the APK file of Island on your device. Copy the full path (after “
package:”), and paste it to replace the
<path>potion of the following command:
pm install -r --user <user id> <path>
After the installation, proceed to the activation step: (slightly different by Android version)
dpm set-profile-owner --user <user id> com.oasisfeng.island/.IslandDeviceAdminReceiver</br> Android 5.x:
dpm set-profile-owner com.oasisfeng.island/.IslandDeviceAdminReceiver <user id>
If you get error message
java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_DEVICE_ADMIN, please review the MIUI-specific steps above in “Preparation”.
am start-user <user id>
Android 5.0.x only (not required on Android 5.1+):
settings --user 10 put secure install_non_market_apps 1
If all goes well, Island will show the app list.
Manual setup for Island in “God mode” / “Demigod mode”
IMPORTANT: Please read the LIMITATIONS OF GOD / DEMIGOD MODE before proceeding to the following steps.
WARNING: Some Samsung users encountered boot failure after activating God mode. It’s advised NOT to use god mod on Samsung devices.
Backup all data of your non-primary users and all data of your logged-in accounts.
Remove all accounts in system “Settings” - “Accounts”. (may vary on different devices)
(God mode only) Destroy Island space. (It can be recreated after God mode is activated)
Remove all non-primary users in system “Settings” - (“System”) - “Users”. (may vary on different devices)
Execute the following command in ADB shell. (pick the right one for God / Demigod mode)
dpm set-profile-owner --user 0 --name Mainland com.oasisfeng.island/.IslandDeviceAdminReceiver
(For Android 5.x:
dpm set-profile-owner com.oasisfeng.island/.IslandDeviceAdminReceiver 0)
or God mode:
dpm set-device-owner com.oasisfeng.island/.IslandDeviceAdminReceiver
If you get error message “… Not allowed to set the device owner because there are already several users on the device”. make sure all non-primary users are removed. You may use ADB command
pm list usersto reveal all users (including the hidden ones on some devices) and then
pm remove-user <id>to remove them forcibly.
If you get error message “… Not allowed to set the profile/device owner because there are already some accounts on the device”. make sure all accounts are removed. You may use ADB command
dumpsys account|grep -A 3 Accounts:to reveal remaining accounts (including the hidden ones on some devices). Forcible removal of all accounts will be implemented in coming version of Island, please stay tuned.
If you get other error message, please try executing the following command:
settings put global device_provisioned 0
- Then the
dpm ...command above, followed by the following command:
settings put global device_provisioned 1
(The last command is very important, otherwise you may face status bar locked and being unable to call or SMS.)
Some ROM variants (e.g. MIUI) enforce extra security policy which may block the above command, if you got permission-related error message, please check the development (or security) settings to enable USB-debugging related security options, then retry the “
dpm ...” command again.
Start Island app now and it will work in God/Demigod mode.
God mode could even work together with normal mode in Island, giving you full control on apps both inside and outside of Island. Starting from Android 8, you can setup Island in God mode directly from Island settings - Setup, click the wrench icon on the side of Island. Prior to Android 8, you can also follow the manual steps to setup normal mode, as mentioned above.
Deactivate God / Demigod mode
Before Island can be uninstalled, God / Demigod mode must be deactivated.
Open Island, Settings - Scoped Settings - Mainland, scroll to the bottom, click “Deactivate”. Beware, if you want to activate God mode again, all Island spaces must be destroyed first. Demigod can be reactivated without losing Island spaces.