Стол заказов — в конце статьи.
Для установки двух (или больше) одинаковых приложений на один телефон нужно сменить значение 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
Пулл-реквесты приветствуются!
You made some really good points on your post. Definitely worth bookmarking for revisiting. Also, visit my website YV6 for content about Web Traffic.
You made some really good points on your post. Definitely worth bookmarking for revisiting. Also, visit my website 63U for content about Cosmetics.
I like the comprehensive information you provide in your blog. The topic is kinda complex but I’d have to say you nailed it! Look into my page QH9 for content about Content Writing.
Hey, if you are looking for more resources, check out my website YK3 as I cover topics about Airport Transfer. By the way, you have impressive design and layout, plus interesting content, you deserve a high five!
Informative articles, excellent work site admin! If you’d like more information about Thai-Massage, drop by my site at ZQ3 Cheers to creating useful content on the web!
Great site with quality based content. You’ve done a remarkable job in discussing. Check out my website YQ9 about Online Business and I look forward to seeing more of your great posts.
Your blog has really piqued my interest on this topic. Feel free to drop by my website ZH5 about Outsourcing.
Great job site admin! You have made it look so easy talking about that topic, providing your readers some vital information. I would love to see more helpful articles like this, so please keep posting! I also have great posts about Thai-Massage, check out my weblog at UQ5