Copyroid

Android: как установить два одинаковых приложения на один телефон

Стол заказов — в конце статьи.

Для установки двух (или больше) одинаковых приложений на один телефон нужно сменить значение package в файле AndroidManifest.xml, находящемся внутри apk-билда.
Например, имеем:

<manifest
android:versioncode="20110420"
android:versionname="1.8.0"
package="ru.e_num"
xmlns:android="http://schemas.android.com/apk/res/android">

Для того, чтобы установить это приложение ещё раз, нужно сделать примерно следующее:

<manifest
android:versioncode="20110420"
android:versionname="1.8.0"
package="ru.e_num.test"
xmlns:android="http://schemas.android.com/apk/res/android">

После такого изменения заново собранный apk-файл придётся подписать сертификатом. Информацию о том, как распаковывать, запаковывать и подписывать apk-файлы, можно найти в любом поисковике по запросу SmartApkTool. Вот ссылка на приложение: v.2.2 (распакуйте содержимое архива в пустую директорию). А вот более правильный способ работы с apk-файлами: Использование apktool.

Совет. Устанавливайте одну из копий неизменённой, чтобы знать об обновлениях в Маркете.

Под катом описаны некоторые встречающиеся проблемы, а также находится Стол Заказов.

ВОЗМОЖНЫЕ ПРОБЛЕМЫ

Проблема 1

Если рядом с AndroidManifest.xml не создаётся файл apktool.yml, то в домашней директории пользователя найдите папку apktool\framework и удалите из неё файл 1.apk. (Совет с 4pda.ru, спасибо Alex Boroda.)

Проблема 2

Иногда обычная смена имени package не помогает. Чаще всего это бывает в случаях, когда в файле AndroidManifest.xml прописаны относительные пути к различным активити. Например:

<activity
android:label="E-NUM"
android:name=".SplashScreenActivity"
android:screenOrientation="portrait">

В такой ситуации нужно прописать полный путь ко всем активити, то есть:

<activity
android:label="E-NUM"
android:name="ru.e_num.SplashScreenActivity"
android:screenOrientation="portrait">

Обратите внимание, что прописывать нужно не новое имя package (то есть в нашем случае не ru.e_num.test), а реальный путь к активити в директории smali распакованного apk-файла. Естественно, в общем случае путь совпадает со старым именем package (в нашем случае это ru.e_num).

Проблема 3

Если в файле AndroidManifest.xml есть тег provider, то в его атрибуте authorities нужно также дописать символы, которые мы использовали в качестве дополнения к параметру package (в нашем случае это .test). Например, было:

<provider
android:authorities="com.someapp.android"
android:name="com.someapp.android">

Стало:

<provider
android:authorities="com.someapp.android.test"
android:name="com.someapp.android">

Как и в проблеме 2, значение атрибута name менять не надо.

Стол заказов

Я снова принимаю заказы! Если вы прочитали инструкцию, но у вас с ней возникли какие-то сложности, пишите в комментариях ссылку на приложение. Это обязательно! Искать «вайбер» или «клаш оф кланс» я не буду. Одну копию я делаю бесплатно. Результат не гарантирую — тестируйте. Если нужно больше копий, или есть какие-либо нестандартные пожелания — пишите в обратку, договоримся. Если хотите отблагодарить пинтой пива и за одну копию, то кошельки здесь.

PS. Пользователи *NIX-систем могут попробовать сделать копии приложений автоматически с помощью этого несложного bash-скрипта:
https://github.com/kodopik/Copyroid
Пулл-реквесты приветствуются!

2 027 thoughts on “Android: как установить два одинаковых приложения на один телефон”

  1. помоги пожалуйста клонировать TMDriver для андроида, мучаюсь и не получается. заранее благодарю

    1. да, но лучше бы готовый клон

    2. Ссылку на приложение, которое клонировать надо, дай.. *facepalm*

    1. Запустилось, благодарю. Жаль только результата желаемого не получил, всё равно тот же аккаунт запускает.

    2. Ну да, это часто бывает просто такая функция приложения: работать с тем аккаунтом, который используется в Android. Может, есть какие-то варианты по обходу (временная смена аккаунта и т.п.), но я не выяснял этот вопрос.

    1. Вылетает(( пишет что приложение остановлено

  2. помоги пожалуйста клонировать TMDriver ark, мучаюсь и не получается. вышлите готовый клон. заранее благодарю

    1. У меня стоял один клон этой программы. И этот встал на место старого клона. Что получается нельзя что бы был оригинал и два клона? 20.04.2014 16:26 пользователь «Disqus» написал:

    2. Хоть десять можно. Но ты ведь не сказал, что у тебя уже был клон. Ты просто сказал: нужна копия. Что я и сделал.

      А вот если нужно больше клонов, то пункт 4 в правилах составления заказа.

    3. У меня система 32bit. На ней возможно сделать копию? я не нашол java для 32bit. Системы.
      20.04.2014 19:57 пользователь «Disqus» написал:

    4. ???? Уменя 32bit а ты выделил 86bit.
      16.05.2014 16:11 пользователь «Disqus» написал:

    5. Просто поверь, скачай и установи, если не разбираешься в вопросе. А 86-битных процессоров вообще не бывает.

    6. )))) ок. Спс.
      16.05.2014 18:26 пользователь «Disqus» написал:

    1. К сожалению, не могу его скачать:
      «Приложение несовместимо с вашими устройствами.»

      Можешь достать apk и залить куда-нибудь на обменник?

    2. Почти, но нет. Игра запускается, появляется надпись Loading.. и в тот момент когда надпись должна исчезнуть и появится лого — игра вылетает. Дело не в кеше (наверно), потому что я пробовал на чистом девайсе. Может есть еще какие-нибудь идеи?..

  3. Здравствуйте!
    Пожалуйста сделайте клон программы viber. Хочу установить одновременно 2 программы viber с разными номерами на одно устройство.
    Спасибо!

    1. Спасибо!
      А в чем проблема? Почему не получается? Я сам пытался сделать, но три дня зря потерял, не сохраняеться разобранный apk, видимо из-за того, что Windows 7 x64 установлен на Apple.
      Ошибки постоянно выдает!

    2. Я уже сейчас не вспомню, какая именно там была ошибка. Но по моему опыту, чем больше приложение предназначено работать с приватными данными пользователя, тем сложнее сделать клон.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *