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. Не читал все комментарии, но так как в основном тексте статьи этого нет, значит и в комментах не было.
    Начиная с версии android 5 Lolipop еще и с разрешениями ошибка выходит (505). В AndroidManifest.xml надо найти строки с C2D_MESSAGE. И там тоже изменить названия пакета.
    Пример:

    После редактирования:

    Просто сам сейчас минут сорок голову ломал, пытаясь установить клон игры. Кстати, оригинальный кэш игры из android/obb/ скопируйте в android/, переименуйте саму папку и файл с кэшем внутри папки, изменив оригинальное название на ваш клон. После верните обратно в android/obb/. Теперь у вас у оригинала и клона свой кэш. Просто мой клон самолично кэш качать отказывался, а подсунутый съел и доволен.

    1. Это зависит исключительно от приложения. И да, в основном такие извраты именно в играх :) Я уже давно пользуюсь Android 6.0, и все программы, которые у меня установлены, клонируются очень просто.
      Кстати, это может быть и не C2D_MESSAGE, а любой другой permission. И часто он в AndroidManifest.xml не в единственном экземпляре ;)

  3. Подскажите как скачать игру на нокия люмия 630 виндовс пхоне 8.1

  4. Добрый день. Хочу установить старую версию day r premium. На пример 409. Сейчас 473. Как её установитт. Если это возможно

    1. У Вас есть установочный файл или ссылка на указанную Вами версию?

    1. Если можно, на электронку киньте, пожалйста)

    2. Если можно, на электронку киньте, пожалйста

  5. Здравствуйте, у меня проблемы с соединением игры Fishdom, я ее ломала для бесплатных покупок и чтото не так сделала((( теперь у меня нет соединения с моей страничкой на фэйсбуке, это нужно чтобы дарить и получать жизни в игре, помогите, подскажите что нужно исправить, удаление и чистка не помогла.

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

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