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

  1. Прзба зделать клон игры ирон дисерт она есть в маркете на пиво гарантирую

  2. Добрый день! Пользуясь Вашей инструкцией и комментариями к ней, пытаюсь сделать клон. Клон ставится и работает, но если пытаться его установить поверх оригинала или наоборот оригинал поверх клона то приложение не устанавливается. Пуду очень признателен если подскажете в где допускаю ошибку. Оригинал: http://evos.in.ua/android/version/1.4.63.apk, клон: http://www.ex.ua/575080599991

    1. Добрый день! При установке ошибка такая:

      Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.evos.permission.MAPS_RECEIVE pkg=com.evos]

      Попробуйте изменить запись о данном разрешении приложения. Например, заменив в соответствующей строчке com.evos на com.evos.sova

    2. Спасибо. Сделал как Вы сказали теперь приложение ставится. Но при попытке запуска вылетает с ошибкой( http://www.ex.ua/567543184367

    3. Две проблемы:

      1. Потому что в приложении нет таких путей: sova.com.evos. Нужно было дописывать суффикс sova в конце, как я это показал в примере в статье:

      package=»ru.e_num.test»

      а не

      package=»test.ru.e_num»

      2. Вы прочитали «Проблему 2» и сделали с точностью до наоборот.

    1. при вводе логина и пароля пишет «вход в сеть» и дальше не двигается.
      при создании нового профиля пишет «неизвестная ошибка»

  3. Добрый день. Установил всё и вся из программ как вышеуказанно, приложение разбивает на smali файлы и нет манифеста,подскажите пожалуйста, что не так делаю?

    1. Пришлите листинг файлов, которые находятся в директории, куда распаковываете приложение. Если Вы на Linux, то знаете, как это сделать. Если на Windows, то на всякий случай напишу:

      1) Открываете папку.
      2) Удерживая клавишу Shift щёлкаете в любое свободное от файлов и папок место правой кнопкой мыши.
      3) В появившемся меню выбираете пункт «Открыть окно команд».
      4) В появившемся чёрном окне набираете «dir /b» и жмёте ввод.
      5) Выделяете всю выдачу команды мышью, копируете сюда. Если с этим пунктом проблемы, можно сделать скриншот.

  4. Добрый день. Пожалуйста, помогите 2-ой Ватсап на телефон установить.

    1. Подскажите, пожалуйста, после установки, при запуске — приложение закрывается и в сообщении — «приложение … остановлено». Что мне надо сделать чтоб заработало.

    2. К сожалению, это означает, что копировать данное приложение не получится.

    3. Спасибо. простите за беспокойство

    1. К сожалению, актуальная версия (2.18.0) не получается. Ошибка на этапе разборки приложения с помощью apktool. Видимо, это какой-то недочёт apktool, который будет исправлен позднее. А пока Вы можете попробовать более раннюю версию (2.16.2): https://yadi.sk/d/CCpaylBeie2Hp

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

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