New identity

The page describes the New identity option functionality as it is available in App Cloner 2.7+.

The New identity option is a popular and powerful identity & tracking option, which serves as a 1-click shortcut option for:

  • Random Android ID
  • Random IMEI & IMSI
  • Random Google Advertising ID
  • Random Google Service Framework (GSF) ID
  • Random Wi-Fi & Bluetooth MAC addresses
  • Random WebView User-Agent
  • Hide SIM & operator info
  • Randomize build props (optional, turned on by default but can be turned off manually)

This helps to prevent the cloned app from detecting that it’s running on your device. Each clone receives its own, separate and unique identity.

If Show notification is selected the cloned app shows a notification, which if tapped will quit the app and generate a new identity at runtime without having to reclone the app. You can then restart the app and the app will use a different / new identity, assuming it runs on a new device.

If Clear cache or Delete app data is selected then generating a new identity will also clear the app’s cache or data (the app data being all the internal app settings and files including the cache), respectively. This may be important in case the app stores device identifiers or other tracking information in its cache or app data. If you have any open sessions in the cloned app, deleting its app data will also log you out.

If you prefer not to do this via a notification you can always use the Clones tab in App Cloner to generate a new identity. The New identity menu item is only shown if the app was cloned with the New identity option enabled. Here you can select whether to clear the cache or app data.

The New identity option may not help if you are trying to log into the same account on different clones or devices. Make sure to use different accounts.

The New identity option is available for users with the small donation. If you have the medium donation you can also select multiple cloned apps and generate new identities for several clones at once.

The new identity broadcast API is available for users with the large donation starting with App Cloner 2.7. You can use this API via the following adb command to automate generating new identities for your clones:

adb shell am broadcast -p com.applisto.appcloner -a com.applisto.appcloner.api.action.NEW_IDENTITY --es package_name packageName [--ez clear_cache {true|false}] [--ez delete_app_data {true|false}]

The value package_name must specify the package name of the cloned app, which you can see when opening the app info dialog of the cloned app under Clones. Optionally you can pass either true or false for values clear_cache or delete_app_data.

Hex patcher

Hex patcher is a developer option added in App Cloner 2.4. It is available to users with the huge or giant donation since the option could also be used to change the app’s package name and generate any number of clones.

The option allows hex-based search & replace operations on arbitrary files contained inside the APK, whether DEX files, resource files or any other files.

The option shows a text editor where you can enter (or paste) one or more hex patches. Each hex patch must be separated by an empty line and itself consists of 3 or 4 lines:

  1. An optional comment line starting with # or //. This may describe what the patch does.
  2. The path and name of the file to which the patch should be applied. Wildcards are allowed, e.g. you can use *.dex to apply the patch to all DEX files, e.g. classes.dex, classes2.dex, etc.
  3. The search bytes as hex values. Each by must be separated by a single space.
  4. The replace bytes as hex values. Each by must be separated by a single space. The length of the search and replace bytes must be the same.

Tap the plus icon in the toolbar to open an editor to add a hex patch in the correct format. Tap the edit icon to edit the hex patch where the cursor is currently located. You can use the menu to delete the hex patch at the current cursor location or to reset / clear all hex patches, effectively disabling the option.

The search and replace bytes may contain ?? or ** to represent wildcard bytes. In the search bytes they will match any byte. In the replace bytes they will be skipped (no replacement will be made). You may also use ? or * in the upper or lower part of a byte to match nibbles or half-bytes, for example 0? would match a byte from 00 to 0F.

You may also use the patterns $0, $1, etc. until $F, which in the search bytes will match any byte (exactly like ??) but also remembering the matched byte’s index 0, 1, etc. In the replace bytes you can use $0, $1, etc. to reference and include the matched byte. This allows moving bytes to different positions within the pattern without changing them.

In the replace bytes you may also use S0, S1, etc. until SF. This will set the upper nibble (half-byte) to the value 0, 1, etc. For example, with S0 a byte 43 would become 03, with S1 a byte 04 would become 14.

Lastly, in the replace bytes you can use increments by writing +1, +2, etc. or decrements by writing -1, -2, etc.

All hex patches are processed in the order they appear. This means a hex patch may modify the result of a previous hex patch.

Use the Hex patcher option with great care. You’ll need to know what you’re doing, otherwise the clone could simply crash.

Color editor

The Color editor is part of the Manifest & resource options and is available starting with App Cloner 2.4. The option can be unlocked by purchasing the Manifest & resource options add-on.

The color editor allows replacing resource-based color definitions. Each color definition has a unique name and may reference another color definition or color selector, or it may declare a color code in hex format (#AARRGGBB), which can be previewed in the left square. Color definitions that reference color selectors cannot be previewed in the editor.

Tapping a color definition opens the color picker where you can use a color wheel to select a replacement color. This can then be previewed in the right square. The color editor also allows entering a specific color code in hex format by switching to the Hex code tab.

Use the search button in the toolbar to search for / filter colors by name. Use the filter button to show all colors or only colors that have been edited. Additionally, you may also toggle Show referenced colors to show or hide colors that reference other colors or color selectors.

The menu item Reset allows clearing all edited colors, effectively disabling the Color editor option.

The color editor may not work with apps that use heavy resource obfuscation.

Featured

App Cloner Overview

The following information applies to App Cloner 2.3. If you’re using an older version, please update your App Cloner on the official home page https://appcloner.app.

The user interface of App Cloner is split into three main sections accessible via the bottom navigation bar: Apps, Clones and Purchases.

Apps

The Apps section shows original apps, i.e. those apps that you can clone.

Installed apps

The Installed apps tab shows apps that are currently installed. The pop-up menu allows launching the app, uninstalling the app, showing the app info screen, saving or sharing the app as an APK file.

Note that when saving apps, which are installed as App Bundles you will be prompted for a directory rather than a filename. This is the directory into which the split APK files will be saved. When sharing App Bundles App Cloner will automatically generate a ZIP archive containing the split APK files.

You can long-press to multi-select and save or share multiple apps. Use the search button in the toolbar to search for / filter apps by name. The menu item Show system apps allows including or excluding system apps (note that it’s not recommended to clone system apps).

Tap on an app to edit the clone settings and press the Clone action button to clone it. The cloning process may take a few seconds or several minutes. This depends on the size of the app and the speed of your device. It’s recommended to leave App Cloner running in the foreground while cloning.

Please observe the dialog for any warnings shown during the cloning process as sometimes it’s necessary to tweak a few options to get the clone working. For example, when cloning games you occasionally need enable the Skip native libraries option, which you can find under Cloning options. If the clone still crashes, you can also try to switch the Cloning mode to Manifest or enable the Increase compatibility / Ignore crashes options and clone the app again.

After the cloning process has finished you’re asked to install the cloned app. You may need to grant App Cloner permission to install apps. Once installed, tap on Launch to open the clone.

To create multiple clones make sure to set the Clone number separately for each new clone. Clones created with the a certain clone number will update any existing clones with that clone number.

APK files

You may also clone apps without installing them first by directly adding APK files to the APK files tab. This may be useful if you want to clone an older version of an app while still keeping the latest version installed. It’s also helpful in case you don’t trust an app and want to clone it enabling one or more of the privacy options before installing the cloned version of the app.

Tapping the Add action button allows adding APK files from various sources. If you want to add a single APK file from your storage select From a file. You may also add multiple APK files found inside a directory at once by selecting From a directory. App Bundles are not yet supported.

If an app is already installed, you may copy its APK file to the APK files tab by selecting From an installed app (you could then uninstall the original app and still clone it from the APK file). Note that App Bundles can not yet be copied to the APK files tab (but you can still clone them directly from the Installed apps tab).

Select From a web page to search for a downloadable APK file on the internet. This opens Google by default, where you can type a query such as “<App Name> APK”. Be careful to only download APK files from trusted sources. Preferably, you should search for an app on apkmirror.com (From apkmirror.com) or apkpure.com (From apkpure.com) and download the APK file directly from these sites. Note that APKM or XAPK App Bundle formats are not yet supported (you would need to install these apps first and then clone them using App Cloner).

Finally, you can download and add an APK file by providing a URL.

The pop-up menu allows saving, sharing or deleting the APK file. You can long-press to multi-select and save, share or delete multiple APK files. Use the search button in the toolbar to search for / filter apps by name.

Tap on an app to edit the clone settings and press the Clone action button to clone it.

Clones

The Clones section shows cloned apps. Cloned apps cannot be re-cloned but certain runtime modding options may be updated dynamically if you have the Runtime modding options add-on.

Installed clones

The Installed clones tab shows cloned apps that are currently installed. The pop-up menu allows launching the clone, uninstalling the clone, showing the app info screen, saving or sharing the app as an APK file. Use Report app issue to send a report about a clone crashing or not working correctly, sometime it’s possible to fix these issues in a new release of App Cloner.

If you have the Runtime modding options add-on, you can use Edit clone settings (or tap the cog icon) to edit any runtime modding options. Tapping the Send action button sends the the new clone settings to the clone and restarts it. Note that not all modding options are runtime modding options. If you want to change non-runtime modding options you must reclone the app under Apps (you can always reload the clone settings from an installed clone).

You can use Export app data and Import app data to export and import the app’s data, i.e. back up and restore internal app data and files, including any settings, preferences and login sessions if these are stored as part of the app data.

This allows you to move clones to other devices or keep different versions of the app state as restore points. The exported app data cannot be viewed or modified and you can only use the app data for clones of the same original app (but you can re-import to different clone number of the same app).

Android accounts, app files from internal or external SD-cards or cloud-based app settings are NOT included in the export. The export and import process terminates the app to avoid files being locked. When importing app data, any existing files are replaced and cannot be recovered afterwards.

The Preference editor allows editing the cloned app’s preferences and settings. Manage blocked hosts allows editing any hosts that were blocked using the Hosts blocker modding option. The File access monitor allowed viewing files the cloned app accesses and requires the File access monitor option to be enabled. The Layout inspector allows viewing and modifying the cloned app’s view hierarchy.

You can also save or share the cloned app. Remember to read about device locking in case you plan to install the clone on another device.

Use Update to reclone / update a clone, even if it’s not listed under Pending updates. This can be useful after you’ve installed a new version of App Cloner, which may have improved certain modding options.

You can long-press to multi-select and save, share or update multiple apps. Use the search button in the toolbar to search for / filter apps by name.

Pending updates

The Pending updates tab shows installed clones that can be updated. App Cloner does not automatically update clones when their original apps have been updated, e.g. by Google Play. You must perform the update process manually by tapping the Update button, either for a specific clone or, if you want to update all clones at once, by tapping Update all.

Updating a clone will reclone the original app using the same clone settings that you originally used when cloning the app, even if you have changed the clone settings under Apps in the meantime. After you’ve recloned the app, install the new clone directly over the old clone. This will keep all app settings, preferences and login sessions. Do not first uninstall the old clone and then reinstall the new clone as this would clear the clone’s app data.

When updating clones, you should consider that newer app versions may introduce incompatibilities, copy protection or other issues, which might result in the updated clone not working as expected. It’s highly recommended that you purchase the Safe update add-on and enable the Safe update checkbox when updating a clone. This creates the updated clone in a way that allows you to easily revert it back to the previous version if necessary. More importantly, you can restore the previous working version without having to uninstall the clone and losing the app data and settings. To revert to the previous version go to the Generated APKs tab and select Revert to previous version from the pop-up menu.

You can long-press to multi-select and save, share or update multiple apps. Use the search button in the toolbar to search for / filter apps by name.

Generated APKs

The Generated APKs tab shows the APK files of generated clones. This serves as a backup of all your cloned apps, in case you need to reinstall or save these clones at a later time. Each time you clone an app with a specific clone number it will replace the APK file for that clone number.

The generated APK files are stored internally inside App Cloner. If you want to copy the APK file to an external storage location during the cloning process, you can do this using the Cloned apps output folder setting under Settings.

The pop-up menu allows saving, sharing or deleting the APK file. Use Report app issue to send a report about a clone crashing or not working correctly. Use Show clone settings to inspect the clone settings used for creating the clone; the clone settings are read-only since it’s an APK file.

You can long-press to multi-select and save, share or delete multiple APK files. Use the search button in the toolbar to search for / filter apps by name.

Pending installs

The Pending installs tab shows the APK files of generated clones that are currently not installed. If you have cancelled the app installation after cloning or if you have uninstalled a cloned app you can reinstall the most recent version from here. Tap the Install button to install a specific app or Install all to install all apps.

The pop-up menu allows saving, sharing or deleting the APK file. Use Report app issue to send a report about a clone crashing or not working correctly. Use Show clone settings to inspect the clone settings used for creating the clone.

You can long-press to multi-select and save, share, delete or install multiple APK files. Use the search button in the toolbar to search for / filter apps by name.

Purchases

The Purchases section allows you to:

  • Upgrade your App Cloner to the premium version
  • Purchase add-ons to extend the functionality of App Cloner or clones
  • Make donations to increase the total number of clones and unlock additional features

The premium version supports up to 20 clones and unlocks all modding options, except for certain more intrusive modding options and features, which are available for users with donations. For details on how many clones you can create and what additional features are unlocked with each donation please see App Cloner donations summary.

App Cloner 2.0 introduces premium subscriptions, which is the same as premium but also includes new premium modding options added in App Cloner 2.0 and later. The purchase is valid for a full year and does not get renewed automatically.

All donations require the premium version. Larger donations do not include smaller donations. App Cloner purchases and donations may be used on up to 10 devices.

Google Play Store

The default payment method is Google Play Store. This uses a separate companion app called App Cloner Premium & Add-ons on Google Play, which can be used to make purchases or donations.

The main App Cloner app (the blue one) can be downloaded and installed from the official App Cloner home page https://appcloner.app. It will read and merge purchases & donations from the green companion app. Make sure to keep both apps installed.

To install the main App Cloner APK outside of Google Play you need to enable unknown sources. Make sure to only download App Cloner from the official home page. Remember to keep Google Play Protect enabled, which also scans & verifies apps installed outside of Google Play.

Note that the Play Store companion app has no cloning functionality itself. The average rating of the companion app is very low because most new users don’t understand the reason for having two separate apps after the Google Play Store suspension of App Cloner and the fact that we’re not allowed to provide direct links to the App Cloner home page. If possible, please leave a positive rating to improve the average. It will be very appreciated.

If existing Google purchases are not recognized you may have multiple Google accounts and Google Play selects the wrong account to validate the purchase. Unfortunately, Google Play does not report purchases across multiple Google accounts and doesn’t allow apps to select a specific account. Make sure the Google account used for the purchase is the first (primary) or only Google account in your Android settings. To check which account was used for a purchase visit https://pay.google.com.

Rebooting the device may also help as it clears the Play Store cache. Otherwise please uninstall and reinstall App Cloner. Another way is to use the web version of Google Play and install the companion app to your phone while logged into the correct Google account.

The worst case solution is: Uninstall the app, remove all Google accounts except the one used for the purchase, reboot your phone and then reinstall the app.

PayPal

You can also make credit card purchases using PayPal or purchase directly using your PayPal balance. Currently, there’s a 10% discount for PayPal purchases when compared to Google Play Store.

These purchases can be restored at any time with your chosen email address or Google account. If you enter an email address you will need to verify a code that is sent to you by email.

Cryptocurrency

If you can’t use Google Play Store, credit cards or PayPal you can also make the purchase using one of the follow cryptocurrencies:

  • Bitcoin
  • Bitcoin Cash
  • Litecoin
  • Ethereum

IMPORTANT: When making a crypto purchase make sure to send the exact quoted amount in the cryptocurrency. The payment system is automated and won’t unlock the purchase unless the full amount is received in the cryptocurrency. If you send an equivalent value in USD or other currency it may not result in the same crypto value due to the constant fluctuations.

If this has happened, however, you can send the remaining cryptocoins to the same address within 24 hours and the purchase will be unlocked. It must be the same address to be recognized as part of the same purchase.

Support

You can get in touch at support@appcloner.app or here. We’re happy to provide support and answer your questions.

Minimize on Back

App Cloner 2.3 offers a new navigation option called Minimize on Back, which you can use to control the behavior of apps when pressing Back on the app’s main screen.

By default Android will finish the app’s root activity. This doesn’t immediately kill the app’s underlying process but it does terminate the app’s activity instance. If you launch the app again it will start from scratch. We all know that some apps are better at restoring the previous instance state than others (think of a news app that first needs to reload the latest news articles).

If you clone an app with Minimize on Back set to Enabled, pressing Back will not finish the app’s root activity. Instead, the activity will simply be moved to the background. When you return to the app, it will be in exactly the same state that you left it in and nothing needs to be restored or reloaded. In other words, it’s behaving the same as switching between apps.

Of course, this does not mean the app’s process is allowed to run forever (for this you should use the Persistent app option). When Android needs memory for other apps, it will remove background processes at some point, but it’s more likely for this to happen to apps that no longer have any activities, so using this option increases the chances that your clones remain in memory for longer.

On the other hand, there are apps (such as the Firefox browser) that intercept Back events and instead of finishing their root activity they already move it to the background. This can interfere with some App Cloner options such as Clear cache on exit since the app never terminates properly. By cloning such an app with Minimize on Back set to Disabled you can force the app to be finished when pressing Back on the root activity. This in turn allows other modding options that depend on the app exiting to be executed.

App translator

The App translator option is part of the new Manifest & resource options in App Cloner 2.3, which can be unlocked by purchasing the Manifest & resource options add-on.

Often apps are localized only for a limited number of languages. The App translator option allows you edit and translate resource strings found inside apps and thus build a new translated version of the app.

The resource strings are presented in a sorted list view. Each resource string consists of a unique key and a value. For arrays, the array index is appended to the key. For plurals, the plural identifier, e.g. zero, one, two, few, many, or other is appended.

Strings not yet translated are annotated by Needs translation in red. Translated strings are shown in green. If a string was already translated but the original string has changed, e.g. through an app update, it is annotated by Needs updated translation in orange.

Some resource strings may be used to store internal identifiers or constants, which cannot be translated or should not be modified. Long-press these strings to exclude them from the list.

Use the filter button in the toolbar to show All strings, Translated strings (this includes strings that need an updated translation), Strings needing translation (this also includes strings that need an updated translation) or Excluded strings. You can long-press an excluded string to re-include it.

The menu item Search allows you to search for / filter strings by key.

If you have the small donation, you may import or export the strings and translations using the menu items Load file and Save file. This reads or writes a CSV file with a compulsory header row containing three named columns: key, original and translated. The CSV file can be easily imported into applications such as Excel on a PC or Mac, where it may be more comfortable to translate a larger number of strings.

The menu item Reset allows clearing the translations of all strings, effectively disabling the App translator option.

Tap on a string to translate it or edit its translation.

Tap the arrow button to copy the original string into the translated string input field. Tap the share button to share the original string to other apps. For example, you can share the string directly to Google Translate to obtain a translation. Tap the copy and paste buttons to copy the original string into the clipboard and paste the clipboard into the translated string input field, respectively.

When translating strings you need to ensure that any placeholders are kept in the translation. For example, %s is a placeholder to substitute another string while %d is a placeholder to substitute a number.

There are also positional placeholders such as %1$s for a string substitution of the parameter at index 1 or %2$d for a number substitution of the parameter at index 2. Positional placeholders can be placed anywhere inside the translated string as long as they do occur at least once (they may also be used multiple times in different places). Non-positional placeholders must be kept in their original order, which means you may not swap %s with %d. App Cloner will validate all translated strings in this regard.

Cloning an app with the App translator option enabled automatically disables any other languages. This ensures that only the translated version is used, no matter what system language is configured.

XML resource editor

The XML resource editor option is part of the new Manifest & resource options in App Cloner 2.3, which can be unlocked by purchasing the Manifest & resource options add-on. It should only be used if you are an Android developer or otherwise familiar with Android XML resource files.

Misconfiguring the app’s XML resource files could break the cloned app’s installation or cause the app to crash.

The option presents a tree view of all XML resource files found inside the app grouped by resource type, e.g. color, drawable, layout, etc. For instance, if you’re planning to modify the app’s views you would need to edit resource files under layout.

Use the search button in the toolbar to search for / filter files by filename. The menu item Search in files allows searching for strings inside the app’s XML resource files. The search operation may take some time depending on the app’s size.

The menu item Restore all files allows reverting all XML resource files to their original versions.

To edit an XML file tap on it. This will open the XML code editor.

The XML code editor offers code highlighting and also validates the XML document before returning. If you made a mistake, you can use the undo button in the toolbar to revert your changes. The undo / redo change history is only kept for the duration of the code editor session.

A search bar at the bottom allows you to find & highlight text inside the XML file.

If you have the small donation, you may import or export the XML file using the menu items Load file and Save file. The menu item Restore file allows reverting the entire file to its original version.

Note that all code editor changes are saved as patches in standard diff format. This is important in case the original app gets updated and the XML file is modified. Unless the two changes result in a conflict, e.g. a change that affects the same line, your changes will be merged with the changes from the updated app and applied to the resulting XML file. Should there be a conflict you may open the code editor and view or copy the patch file.

Manifest editor

The Manifest editor option is part of the new Manifest & resource options in App Cloner 2.3, which can be unlocked by purchasing the Manifest & resource options add-on. It should only be used if you are an Android developer or otherwise familiar with Android manifest files.

Misconfiguring an app’s manifest could break the cloned app’s installation or cause the app to crash.

The XML code editor offers code highlighting and also validates the XML document before returning. If you made a mistake, you can use the undo button in the toolbar to revert your changes. The undo / redo change history is only kept for the duration of the code editor session.

A search bar at the bottom allows you to find & highlight text inside the XML file.

If you have the small donation, you may import or export the XML file using the menu items Load file and Save file. The menu item Restore file allows reverting the entire file to its original version.

Note that all code editor changes are saved as patches in standard diff format. This is important in case the original app gets updated and the XML file is modified. Unless the two changes result in a conflict, e.g. a change that affects the same line, your changes will be merged with the changes from the updated app and applied to the resulting XML file. Should there be a conflict you may open the code editor and view or copy the patch file.

Android 10 hardware menu button support for legacy apps

With Android 10 Google has killed the support for hardware menu buttons in legacy apps. This is bad news for certain apps, such as Nesoid (NES Emulator for Android), which are not maintained anymore. It means you can no longer tap the overflow menu button in the navigation bar that was still shown on Android 9 to reveal the options menu inside the app.

There are some helper apps such as Menu Button (No root) but these may be cumbersome in day-to-day use since you have to switch your input method in order send the menu key to the app.

Fortunately, App Cloner 2.3 offers a new navigation option called Long-press Back for options menu, which allows long-pressing the standard Back button in the cloned version of the app to open the app’s options menu.

A fairly simple solution.

Host mapper

App Cloner 2.1 comes with a new networking option called Host mapper, which allows redirecting requests made with a specific host to a different host name or IP address and/or port number.

This can be useful for monitoring, intercepting, analyzing or modifying network traffic.

The option allows specifying one or more pairs of hosts in the form of AB, where requests to host A are redirected to host B. For A and B you may use host names or IP addresses. You may also use wildcards, for example, while entering www​.​google.com would match this exact host name, writing *.google.com would match any google.com sub-domain.

If no port number is specified for A, it will match any port number, otherwise you may restrict the mapping to a host with a specific port number, e.g. www​.​google.com:80.

If no port number is specified for B, it will keep and use the request’s original port number, otherwise you may override and change the port number, e.g. www​.​google.com:443 → 192.168.0.10:8443. You may need to create two separate mapping rules to separate SSL from non-SSL traffic when using custom port numbers.

When forwarding SSL traffic to your own interceptor, you may need to enable the networking option Trust all certificates, as otherwise the SSL negotiation will likely fail.

By default a notification is shown for every request to a new host, whether mapped or not. By checking Silent you can disable these notifications.

The Host mapper option works at socket level, not at HTTP level. The HTTP Host header is not changed to the new host, so if the target server relies on this header for handling the HTTP request, the request may fail.

The Host mapper option is not compatible with the Hosts blocker option, meaning the two options cannot be enabled the same time. However, using the Host mapper option you may also ‘block’ requests by redirecting them to an invalid host, e.g. localhost or 127.0.0.1.

Like with the Hosts blocker option, the Host mapper option does not work with native network connections as used by most web browsers, web views and audio/video streaming apps.

The Host mapper option is available for users with the medium donation.