Мне было интересно, как Parallel Space приложение может дублировать и выполнять другие приложения, не копируя их APK или не запуская их под измененными именами пакетов, как другие приложения на Playstore do (например: "com.whatever.name-of-duplicated-app" ).
После изучения их AndroidManifest.xml, папок, созданных на /data/data/, и журналов на устройстве, единственный вывод, который я мог получить, заключается в том, что каким-то образом Parallel Space способен выполнять код из других APK, но он отображает каталоги данных этих приложений в свой собственный каталог данных.
Evidences:
- Каталоги создаются следующим образом:/data/data/com.lbe.parallel.intl/parallel_intl/0/whatever-package-name-you-cloned
- Каждое повторное выполнение приложения начинается с новой задачи одной из своих действий с прокси-сервером, а затем как-то дублируемое приложение имеет место для вновь созданного процесса.
Первоначально я думал, что это что-то с DexClassLoader/PathClassLoader, но я не мог продвинуться дальше с этим расследованием. Я также видел несколько таких вопросов, как один, но, похоже, это не так.