Стол заказов — в конце статьи.
Для установки двух (или больше) одинаковых приложений на один телефон нужно сменить значение package
в файле AndroidManifest.xml
, находящемся внутри apk-билда.
Например, имеем:
android:versioncode="20110420"
android:versionname="1.8.0"
package="ru.e_num"
xmlns:android="http://schemas.android.com/apk/res/android">
Для того, чтобы установить это приложение ещё раз, нужно сделать примерно следующее:
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
прописаны относительные пути к различным активити. Например:
android:label="E-NUM"
android:name=".SplashScreenActivity"
android:screenOrientation="portrait">
В такой ситуации нужно прописать полный путь ко всем активити, то есть:
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
). Например, было:
android:authorities="com.someapp.android"
android:name="com.someapp.android">
Стало:
android:authorities="com.someapp.android.test"
android:name="com.someapp.android">
Как и в проблеме 2, значение атрибута name
менять не надо.
Стол заказов
Я снова принимаю заказы! Если вы прочитали инструкцию, но у вас с ней возникли какие-то сложности, пишите в комментариях ссылку на приложение. Это обязательно! Искать «вайбер» или «клаш оф кланс» я не буду. Одну копию я делаю бесплатно. Результат не гарантирую — тестируйте. Если нужно больше копий, или есть какие-либо нестандартные пожелания — пишите в обратку, договоримся. Если хотите отблагодарить пинтой пива и за одну копию, то кошельки здесь.
PS. Пользователи *NIX-систем могут попробовать сделать копии приложений автоматически с помощью этого несложного bash-скрипта:
https://github.com/kodopik/Copyroid
Пулл-реквесты приветствуются!
Your posts in this blog really shine! Glad to gain some new insights, which I happen to also cover on my page. Feel free to visit my webpage UY7 about Thai-Massage and any tip from you will be much apreciated.
An excellent read that will keep readers — particularly me — coming back for more! Also, I’d genuinely appreciate if you check my website FQ4 about Thai-Massage. Thank you and best of luck!
Awesome page with genuinely good material for readers wanting to gain some useful insights on that topic! But if you want to learn more, check out FQ6 about Cosmetics. Keep up the great work!
Superb posts! Have a look at my page QH8 where I also put in extra effort to create quality information about Cosmetic Treatment.
You absolutely know how to keep your readers interest with your witty thoughts on that topic. I was looking for additional resources, and I am glad I came across your site. Feel free to check my website UY6 about Advertise.
Great post! I learned something new and interesting, which I also happen to cover on my blog. It would be great to get some feedback from those who share the same interest about Thai-Massage, here is my website QU6 Thank you!