Android
Стол заказов — в конце статьи.
Для установки двух (или больше) одинаковых приложений на один телефон нужно сменить значение package
в файле AndroidManifest.xml
, находящемся внутри apk-билда. Например, имеем:
Для того, чтобы установить это приложение ещё раз, нужно сделать примерно следующее:
После такого изменения заново собранный 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
прописаны относительные пути к различным активити. Например:
В такой ситуации нужно прописать полный путь ко всем активити, то есть:
Обратите внимание, что прописывать нужно не новое имя package (то есть в нашем случае не ru.e_num.test
), а реальный путь к активити в директории smali
распакованного apk-файла. Естественно, в общем случае путь совпадает со старым именем package
(в нашем случае это ru.e_num
).
Проблема 3
Если в файле AndroidManifest.xml
есть тег provider
, то в его атрибуте authorities
нужно также дописать символы, которые мы использовали в качестве дополнения к параметру package
(в нашем случае это .test
). Например, было:
Стало:
Как и в проблеме 2, значение атрибута name
менять не надо.