Users of smartphones based on the operating system Android often face the need to simultaneously use several versions of the same software. This may be due to testing new features in beta versions while maintaining a stable working copy, the need to log into the same service from different accounts, or even the desire to use the old app interface that has been changed in recent updates. However, the standard logic of the operating system prohibits the installation of two packages with the same identifier.
The main problem is that each application in the system Android has a unique Package Name (package name), which serves as its digital fingerprint. If you try to install an APK file with the same package name but a different version, the system will either prompt you to update the existing application or refuse installation due to a signature conflict. There are several ways to get around this limitation, each of which has its own technical features and data security risks.
Next we will analyze in detail proven techniques that allow you to bypass system limitations. You'll learn how to use smartphone manufacturers' built-in features, third-party space cloning utilities, and methods for manually modifying installation files. It is important to understand that working with different versions requires care, especially when it comes to banking applications or instant messengers, where data integrity is important.
Why the system prohibits the installation of two copies
The security architecture Android is built on the principle of application isolation. Each app is allocated a separate sandbox, access to which is regulated by user and system rights. The key element of identification here is the line android:package in the application manifest. It is this parameter that determines whether the file being installed is an update or a new app. When you download a file, the system reads its digital signature and package name. If there is already an application in the device's memory with an identical name but a different digital signature (for example, you downloaded a modified version from a third-party source), the installation will be blocked. This is done to protect against legitimate software being replaced by malicious code. Even if the versions are the same, but the signatures are different, you will receive an error Package Manager determines whether the file being installed is an update or a new app.
When you download a file APK, the system reads its digital signature and package name. If there is already an application in the device's memory with an identical name but a different digital signature (for example, you downloaded a modified version from a third-party source), the installation will be blocked. This is done to protect against legitimate software being replaced by malicious code. Even if the versions are the same, but the signatures are different, you will get an error INSTALL_FAILED_UPDATE_INCOMPATIBLE.
In addition, different versions of the same application may have incompatible database structures. Trying to run an old version over a new one (or vice versa) without clearing data often leads to critical failures, crashes, and loss of user information. Therefore, before any manipulations, you need to create a backup copy of your important data via Settings โ System โ Backup.
โ ๏ธ Warning: Installing applications from unknown sources (sideloading) disables some of the Google Play Protect protection mechanisms. Make sure that the APK files you download are from trusted resources, such as the developer's official website or trusted repositories like F-Droid.
Using built-in app cloning features
The easiest and safest way to run two copies of the application is to use the built-in shell functions of the smartphone manufacturer. Many companies, such as Xiaomi, Samsung, Huawei i OnePlus, have integrated tools for creating virtual space into their firmware. This feature is often called "App Cloning", "Double Apps" or "App Twin".
Activating this option creates an isolated copy of the app with a modified package name (usually a suffix like :clone or :twis added to the original name). The system perceives this copy as a completely separate application, which allows you to install another version on it if the shell functionality supports choosing a version for the clone. However, most often the clone simply duplicates the currently installed version.
To activate the function, you must go to the device settings. The path may vary depending on the model, but usually it looks like this:
- ๐ฑ For Xiaomi/Redmi:
Settings โ Applications โ Cloning applications. - ๐ฑ For Samsung:
Settings โ Additional features โ Dual profile. - ๐ฑ For Huawei/Honor:
Settings โ Applications โ Clone application. - ๐ฑ For OnePlus/Oppo:
Settings โ Applications โ Cloned applications.
After turning on the switch A second icon will appear opposite the desired application on the desktop, often marked with an orange icon or padlock. You can log into this clone using a different account. If your goal is to have different versions, then this method is only suitable in conjunction with other tools, since the standard clone is usually updated synchronously with the main application via Google Play.
Third-party applications for creating virtual space
If your smartphone does not have a built-in cloning function or it does not allow flexible version management, specialized utilities will come to the rescue. apps like Parallel Space, Multiple Accounts or Island create a full-fledged virtual environment inside your system. Essentially, this is โAndroid inside Androidโ, where their own instances of applications run.
The principle of operation of such apps is based on containerization technology. They intercept application API calls and redirect them to an isolated space. This allows you to install one version (for example, stable from the store) on the main system, and another version (for example, an old APK or beta version) inside the container. Applications in the container see the device as new, clean, which solves the problem of identifier conflicts.
However, this method has its drawbacks. Working through a virtualization layer consumes more RAM and battery power. In addition, some banking applications and games with strong anti-cheat protection may refuse to run in such environments, detecting the presence of root access or emulation. Before installing critical software, check compatibility.
When using Parallel Space or analogues, give the application all the necessary permissions to run in the background, otherwise cloned messengers may not receive notifications about new messages.
The process of installing an alternative version in such a space is as follows. First, you install the cloner utility itself from Google Play. Then, inside it, select the desired application. If it is already installed on the system, the cloner will offer to import it. To install another version, you need to download the required APK file manually and install it directly inside the clone app interface by selecting the "Install APK" option in the utility menu.
Manual modification of the APK file (Change Package Name)
For advanced users who want to have full control and not depend on third-party launchers, there is a method for manually modifying the installation file. The essence of the method is to change the package name (Package Name) inside the APK archive before installation. This turns the application into a completely new app from a system point of view.
To implement this approach, you will need a computer and a special tool, for example APK Editor (mobile version) or Apktool (for PC). The process requires care, as changing the file structure may break the digital signature. You will have to re-sign the modified APK with your key, otherwise the system will not allow installation.
The action algorithm looks like this:
- Download the target version of the application in the format
.apk. - Open the file in the editor and find the line
package="com.example.app"in the fileAndroidManifest.xml. - Change the package name by adding a suffix, for example:
com.example.app.v2. - Save the changes and re-sign the application.
- Install the resulting file as a new application.
โ ๏ธ Attention: After changing the package name, the application will lose connection with the original. You won't be able to update it through Google Play, and data from the original version won't be transferred automatically. This is a completely isolated instance.
When launched, they check the hash of their files or the signature. If the verification fails, the application simply will not start or will work in limited mode. It is also worth considering that push notifications (via Firebase Cloud Messaging) may not arrive on the modified version, since they are tied to the original package name and developer signing keys.
What to do if the application crashes after modification?
If the modified application closes immediately after launch, most likely, integrity protection has triggered. Try changing only the display name in the resources without touching the package name, or use the virtual space method (Island/Parallel Space), which does not require changing APK files.
Using Android work profiles
Starting with version Android 5.0 Lollipop, the system now supports Work Profiles. This feature was originally created to separate personal and corporate data, but it is ideal for running two versions of the same application. The work profile creates a completely isolated environment with its own set of applications, widgets and settings.
Unlike simple clones, the work profile is supported at the system kernel level, which provides better performance and stability. Apps in your work profile are marked with a briefcase icon. You can install version 10.0 in your personal profile, and version 9.5 in your work profile by downloading the corresponding APK file and allowing installation from unknown sources specifically for the work profile.
To activate a work profile without a corporate server, you can use free utilities such as Shelter or Island (Work Profile mode). These applications act as the device administrator, creating the necessary profile. Once created, you will see the division in the applications menu. Installation of different versions occurs independently in each profile.
| Method | Complexity | Stability | Risk of blocking |
|---|---|---|---|
| Built-in clone | Low | High | Minimum |
| Parallel Space | Low | Average | Average (for games/banks) |
| APK modification | High | Low | High (data loss) |
| Work profile | Medium | High | Low |
Work profile is the most civilized way to separate applications, as it uses native Android security mechanisms rather than emulation.
Solving compatibility and data issues
When different versions of the same application are running simultaneously, access conflicts to shared resources may arise. For example, both versions may try to write data to the same folder in the internal storage (/Android/data/.. or root directory). This may lead to corruption of cache or log files.
To avoid this, it is recommended to manually manage data saving paths if the application allows this in the settings. If this option is not available, use a file manager with access to system folders to periodically clear the cache of conflicting versions. This is especially true for instant messengers that store media files in shared directories.
Another common problem is notifications. The system may not display notification icons correctly for the second version, or the notification sound may not play. In such cases, go to Settings โ Applications โ [Application name] โ Notifications and make sure that notification channels are active for both instances of the app. Sometimes resetting notification settings for a specific application helps.
โ๏ธ Checklist before installing the second version
Don't forget about influence on the autonomy of the device. Two running versions of the same messenger or social network mean double traffic consumption and double processor load during synchronization. If you only use an older version of the app occasionally, consider stopping it completely or freezing it through developer settings when you don't need it.
Frequently Asked Questions (FAQ)
Is it possible to update one version without affecting the other?
Yes, if you use the work profile or APK modification method. In the case of a built-in clone, the update often occurs synchronously for both icons, since they refer to the same installation package on the system. When using an APK editor or virtual space, you control the version of each instance separately.
Is it safe to enter bank card details into a cloned application?
It depends on the method. Built-in clones and working profiles are quite safe. However, applications like Parallel Space running as an add-on can theoretically intercept input. For financial transactions, it is strongly recommended to use only the main version of the application or the official banking client without modifications.
Why does the second version of the application not receive push notifications?
Google Play Services (GMS) bind notification tokens to the package name and signature. If you manually changed the package name or are using a sandboxed environment, the token may not match the one registered on the developer's server. In such cases, notifications often do not arrive, and you need to enter the application manually.
Will the main version be deleted if I delete the clone?
No, when using the correct separation methods (work profile, APK modification), the applications are independent. Deleting one instance will not affect the data and files of the other. The exception is some aggressive cleaners, which can perceive clones as garbage, so be careful when cleaning the system.
How to roll back to an old version if the new one works poorly?
The standard Android function does not allow you to roll back versions back through the settings. You need to delete the current version (after saving the data if possible), find the APK file of the old version on a reliable archive (for example, APKMirror) and install it manually, disabling auto-update in Google Play for this particular application.