There are virtual space apps for Android, such as Parallel Space or Dual Space. I know that we can't access outside files in a virtual environment, but I was able to access them in Dual Space's virtual environment.

Do such virtual space apps provide a fully virtual environment?

  • 2
    What do you mean with "fully virtual environment"? – Robert Apr 9 at 15:23
  • Yes man. You got it right. – Taufeeque Sifat Apr 10 at 19:16

ParallelSpace and DualSpace use the same technology if I get their description correctly and this technology has nothing to do with virtualization: they use app cloning

App cloning means that an app is renamed (not the visible name but the app package name such as com.whatsapp). Therefore the app is unpacked, modified at certain points to use the new name and then packed and signed with a new signature and afterwards installed.

As Android separates each app a renamed app can be installed side-by-side with the original app. The actual separation is done by the Android OS in exactly the same way it is done for every app.

And just like any other app if the repackaged app stores data in the sd-card section you can access this data.

| improve this answer | |
  • Do you have any references for app cloning process? – Morrison Chang Apr 9 at 15:00
  • @MorrisonChang The general process is not that complicated: stackoverflow.com/a/54032434/150978 However I would assume that certain apps require more modifications even on code level. – Robert Apr 9 at 15:07
  • Great, the 3rd point answer in your reference is basically my answer. (I knew it was doable but felt brittle as app devs can do various code checks which would result in arms race for detection). – Morrison Chang Apr 9 at 15:10
  • Thanks man for explaining me the basics behind these apps. – Taufeeque Sifat Apr 10 at 19:14

If virtual space apps are acting like Parallel Space then they are virtualizing the app runtime environment. Accessing external storage would not be a problem.

Commonsware put up a blogpost explaining what is going on under the hood with this virtualization with a caveat:

However, this sort of virtualization technique – Android apps running inside other Android apps, for an Inception-style experience – requires that you trust the virtualization engine. After all, by definition, it can see all I/O between the app and Android, as it proxies all of that I/O. It is a [Man-In-The-Middle] MITM attack on the app.

So if you trust the makers of Parallel Space (or don't care) it is an option to consider.

From my answer: https://android.stackexchange.com/a/169048/3573

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.