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 028 thoughts on “Android: как установить два одинаковых приложения на один телефон”

    1. Игра запускается и после загрузки вылетает(( я уже успел обрадоваться когда запустилось…)) я сам пытался сделать клон, но ни как не получалось, вылет нельзя исправить? или это дело в аппарате?

    2. Вот эта версия устанавливается и запускается:
      https://dl.dropboxusercontent.com/u/46903845/2apps/ru.mail.games.panda_4.5.3_%5BSAME%5D.apk
      Но, к сожалению, работает с теми же данными, что и основная игра :( Т.е. смысла в копии нет. Глубже копать не могу: там дело касается биллинга, а вторжения в эту область разработчики не любят…

    3. правда та версия работает, но с теми же данными((( благодарю за труд)) пытался сам разобраться сделать копию, но писалось «приложение не установлено»

    1. Спасибо, всё отлично, не было подписи подписал всё работает

  1. сделайте пожалуйста копию программы
    https://play.google.com/store/apps/details?id=com.taxsee.driver
    и если можно что бы название было таким «taxsee draiver mix».
    программа нужна нам для работы если все будет нормально мы будем заказывать с выходом каждой версии за ново.да и финансово не обидим.

    1. нет дело в том что уже есть программа альтернативыная а нам нужно три программы.час попробую и отпишусь спасибо большое.соберу у всех денег и закину)

    2. Тогда я не совсем понял, что вообще нужно сделать. Можно чуть подробнее?

    3. все нормально работает.как бы мы работаем на трех такси.и нам нужно что бы они были все на одном устройстве.вот по этому нужны три одинаковые программы.

    4. Если объяснишь, что именно не так. Я же не знаю, где исправлять :)

    5. а можешь обнавленную переделать ото там старая и чуть чуть баг.а именно я не вижу количество машин на линии и свободные заявки.было бы хорошо если можно было исправить

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

    7. не я понимаю я просто не мог сам сделать копию.плиз вот тока для этого обновления дальше сам попробую как нибудь

    8. там есть косяки сможешь за ново сделать если не трудно

    1. И еще вопрос, как отключить аккаунт гугл, чтобы он е входил автоматически в игры.

    2. Нужно удалить из файла AndroidManifest.xml разрешение
      android.permission.GET_ACCOUNTS

      Проблема в том, что если удалить это разрешение, приложение завершается с ошибкой. Видимо, там не предусмотрен иной вход, кроме как через полученный из системы адрес эл. почты.

      Если же разрешение не удалять, то и оригинал, и копия будут работать с одним аккаунтом, что противоречит цели копирования.

      Сожалею, но с этим приложением не получится…

    3. Пожалуйста, попробуй сделать без удаления гетаккаунтс, я вроде бы нашел способ обхода

    4. А просто аккаунт удалить чтобы он не входил автоматически

    5. О чём я и говорю: если игра не получает адреса почты, она выдаёт ошибку.

    6. Хм, действительно. Тогда не знаю, как это починить. Ошибка такая:

      E/TapjoyConnect( 8038): IntegrationException: ClassNotFoundException: mraid.js was not found.

      Такого файла и правда нет в папке с распакованным приложением. Не пойму, чего он его требует или куда он делся.

    7. Я бы и сам сделал но я не могу ничем открыть андроид ммнифест

  2. Добрый день! Если можно сделать пару копий приложения и сколько это будет стоить, http://clck.ru/8yizd! Заранее спасибо. Всех с Новым Годом!)

  3. Здравствуй. Выручай плз, мне нужно сделать копию третьего мира, только не 3д, а обычную. Андроид 2 д версию. Можешь помочь? И скажи плз почему когда я изменил имя этой игры, все как написанно, я запускаю ее и она вылетает. Так и с 3д версией было и с этой. Запускаю-черный экран и после вылет. Ссылка на 2д версию twwk.ru
    Заранее спасибо.

    1. И с новым годом вас! Всего всего хорошего и побольше.

    2. А почему так получается у меня,то что не работает прога.
      Я все делаю, ее подписываю, но при запуске черный экран и вылет.
      Что не так? И что делаете вы с ней?

    3. Мой вариант работает, я правильно понял?
      Что касается причин неработоспособности твоей копии, то нужно смотреть логи запуска. Можешь прислать свой вариант? Я установлю его и посмотрю, в чём может быть причина.

    4. Ваша копия как всегда на высоте.
      Мою сейчас пришлю. Может быть я там что то пропустил…

    5. Если вкратце, то в статье смотри «Проблему 2».

      Если подробнее, то в файле AndroidManifest.xml есть строка:

      В ней нужно перед .MiniBrowserActivity вставить название оригинального пакета. Должно получиться:

    1. Не получается! Причём ситуация такая, что невозможно собрать файлы в apk-билд даже БЕЗ каких-либо изменений в них :) Просто apktool выдаёт ошибки. Что-то намудрили в Скайпе. При этом, я помню, что предыдущие версии Skype я делал без проблем. Может, тебе какая-нибудь из них сгодится?

  4. Доброго времени суток. Ты когда то делал копию mobiletaxi и просил
    отписаться о результатах. Раньше не получалось комп лежал в длительном
    ремонте а закладка сюда была только в нем. Так вот о главном, все
    получилось копия работает одновременно с оригиналом. Единственное что
    было бы классно если бы еще и значки отличались а то при переключении
    путаешся и часто включаеш вместо второй программы ту с которой ушол. вот ссылка оригинала если надо могу выложить ссылку на уже готовую тобой копию. http://evos.in.ua/android/mobiletaxi.apk

    1. Привет! Я рад, что копия работает!

      По поводу значков могу сказать следующее. Я не зря добавил пункт 5 в условия заказов. Заказы на копии — хобби, у меня есть и работа. И если мне нужно будет ещё перерисовывать иконки, то процесс затянется.

      Так что прошу понять меня правильно, но принципиально буду делать вещи, не входящие в условия заказов, только за символическое пожертвование. Не от жадности (тем более, что сумма может быть любой — лишь бы издёвкой не выглядела). Просто ценю своё время.

    2. Я уже понял я сначала написал потом прочитал пункт 5. Так что я все понимаю. если не получится самому обращусь за плату))))

    3. честно пробовал сам,по инструкции,распаковал apk, изменил package,запаковал устанавливается, но оригинал потом не становится… спасибо еще раз!!!

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

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