Search code examples
androidunity-game-engineinstallationsamsung-mobilesamsung-knox

Android apps built in Unity fail to update / reinstall on devices with Samsung Knox security


We are building an app in Unity for the Samsung S21 specifically, and we are noticing an interesting bug that resembles the following: https://issuetracker.unity3d.com/issues/android-not-enough-storage-space-to-install-required-resources-error-when-building-app-bundle-with-split-application-binary.

We have isolated it to phones that are "Fully managed" with Samsung Knox, and have noted that this occurs across all apps made with Unity, including major commercial releases on Google Play. This does not appear to be an issue with non-Unity apps.

After a factory reset, our app installs fine, but once it is updated or uninstalled and reinstalled we get the message "Error: Not enough storage space to install required resources." I have noticed that certain folders do not delete after the app is uninstalled--specifically /files/il2cpp and /files/Unity, and I cannot delete these on Knox-protected phones, while I CAN delete these folders on standard devices.

My Knox security settings say "User Deletion: Disallow."

I know that Knox is the issue here, but I am curious if anyone has any explanation what in particular with Unity is causing the problem. My suspicion is that this is because my Knox security settings do not allow me to delete, but it is interesting that this only seems to be the case in Unity apps as apps not developed in Unity (NBA Live is an example) uninstall and install fine. It is also worth noting that this all seems irrespective of the link I put above with the initial bug that claimed it was related to splitting the application binary.


Solution

  • We determined that using the Managed Google Play store only for downloads does not produce the issue. Any downloads from the commercial store--specifically Unity apps--will cause this issue. There is no workaround for this. If the organization with which you are working would like to be able to install a specific app on a phone with an account managed through Knox it must allow the specific app on the Managed Google Play store.