Изменить название пакета APK чаще всего требуется, когда нужно установить две копии одного приложения на один смартфон или когда система выдаёт ошибку «Приложение с таким именем пакета уже установлено». Имя пакета (например, com.example.app) — это уникальный идентификатор, по которому Android отличает одно приложение от другого, и именно он, а не название на ярлыке, определяет «личность» программы в системе.
Ниже разберём рабочие способы смены идентификатора: через редакторы прямо на телефоне и через Android Studio на компьютере. Отдельно рассмотрим типичные ошибки после переподписи и случаи, когда приложение перестаёт запускаться.
Что такое имя пакета и зачем его менять
Имя пакета (package name, application ID) прописано в файле AndroidManifest.xml внутри APK. Оно имеет вид обратного домена: com.разработчик.приложение. Android использует этот идентификатор для установки, обновления, выдачи разрешений и хранения данных приложения в папке /data/data/.
Менять название пакета обычно нужно в таких ситуациях:
- 📱 установка второй копии приложения (клон) рядом с оригиналом;
- 🔧 публикация собственной сборки, чтобы не конфликтовать с официальной версией;
- 🧪 тестирование debug- и release-версий одного проекта на одном устройстве;
- 🛠️ устранение конфликта подписей при обновлении модифицированной версии.
Обратите внимание: смена имени пакета — это не то же самое, что переименование самого файла app.apk. Имя файла ни на что не влияет, система его игнорирует.
Подготовка: что понадобится
Перед началом работы убедитесь, что у вас есть сам APK-файл (не установленное приложение, а именно установочный пакет). Извлечь его из уже установленной программы можно любым менеджером с функцией «Извлечь APK» или через adb pull.
Вам понадобится один из инструментов:
- 📦 APK Editor или MT Manager — для правки прямо на смартфоне;
- 💻 Apktool + apksigner — классическая связка на ПК;
- 🖥️ Android Studio — если у вас есть исходный код проекта.
⚠️ Внимание: после изменения имени пакета оригинальная цифровая подпись становится недействительной. APK обязательно нужно подписать заново, иначе Android откажется его устанавливать.
Способ 1: изменение через MT Manager или APK Editor на телефоне
Это самый быстрый вариант, не требующий компьютера. Порядок действий в MT Manager выглядит так: откройте APK-файл в приложении, выберите режим просмотра, найдите AndroidManifest.xml и откройте его в редакторе. В строке с атрибутом package замените значение на новое, например с com.example.app на com.example.app2.
После правки манифеста сохраните изменения — редактор предложит пересобрать и автоматически подписать пакет тестовым ключом. Соглашайтесь: без подписи установка не пройдёт. Затем удалите оригинальное приложение (если хотите заменить его) и установите модифицированный APK.
☑️ Смена имени пакета на телефоне
Если приложение после запуска сразу закрывается, вероятная причина — в коде программы есть обращения к старому имени пакета (например, в строках resources.arsc или проверке подписи). В таком случае потребуется полная декомпиляция через Apktool и правка smali-кода, что заметно сложнее.
Способ 2: через Apktool на компьютере
Метод надёжнее, потому что даёт полный контроль над ресурсами. Сначала декомпилируйте пакет командой:
apktool d app.apk -o app_folder
В папке app_folder откройте файл apktool.yml и AndroidManifest.xml. В манифесте найдите атрибут package="..." и замените значение. Если в коде есть жёстко прописанные ссылки на старое имя пакета, выполните поиск по содержимому папки и замените вхождения в файлах .smali.
Затем соберите пакет обратно и подпишите его:
apktool b app_folder -o app_new.apk
Для подписи используйте apksigner или jarsigner с заранее созданным keystore. Точные команды зависят от версии инструментов, поэтому сверяйтесь с документацией установленной у вас сборки.
Способ 3: через Android Studio (если есть исходный код)
Когда доступен исходный проект, менять имя пакета правильнее всего именно здесь. Откройте файл build.gradle модуля приложения и измените параметр applicationId:
android {
defaultConfig {
applicationId "com.example.newname"
}
}
После этого выполните Build → Clean Project, затем Rebuild Project и соберите новый APK через Build → Build APK(s). Среда сама обновит все ссылки в манифесте и ресурсах.
Зачем переименовывать ещё и папки с кодом?
Строго говоря, applicationId и структура пакетов в исходном коде — разные вещи. Менять папки (refactor → rename package) нужно только для порядка в проекте. На итоговый идентификатор приложения влияет исключительно applicationId в build.gradle.
Сравнение способов
| Способ | Сложность | Нужен ПК | Когда подходит |
|---|---|---|---|
| MT Manager / APK Editor | Низкая | Нет | Быстрый клон простого приложения |
| Apktool + apksigner | Средняя | Да | Приложения с защитой и сложными ресурсами |
| Android Studio | Низкая | Да | Есть исходный код проекта |
| Онлайн-сервисы | Низкая | Нет | Не рекомендуется: риск внедрения вредоносного кода |
⚠️ Внимание: не загружайте APK на сомнительные онлайн-сервисы «переименования пакетов». В пересобранный файл могут встроить сторонний код, и проверить это после подписи будет практически невозможно.
Типичные ошибки после смены имени пакета
Самая частая проблема — приложение устанавливается, но падает при запуске. Обычно это означает, что в коде остались ссылки на старый идентификатор: в проверках лицензии, обращениях к ContentProvider (его authority часто совпадает с именем пакета) или в ресурсах.
Вторая типичная ситуация — ошибка «Приложение не установлено». Проверьте три момента: подписан ли пакет, не конфликтует ли новое имя с уже установленным приложением и не пытаетесь ли вы обновить программу, подписанную другим ключом. В последнем случае старую версию придётся удалить, а её данные будут потеряны.
Также учтите: сервисы вроде Google Play Games, push-уведомлений и входа через Google привязаны к паре «имя пакета + подпись». После смены идентификатора эти функции в модифицированной копии, скорее всего, перестанут работать — это ограничение на стороне серверов, а не ваша ошибка.
FAQ: частые вопросы
Можно ли изменить имя пакета без подписи APK заново?
Нет. Любая правка внутри APK нарушает целостность оригинальной подписи, и Android отклонит установку. Переподпись — обязательный шаг при любом способе.
Будет ли работать вход через Google в клонированном приложении?
Обычно нет. Авторизация Google привязана к имени пакета и отпечатку сертификата. С новыми значениями сервер отклонит запрос, если разработчик не добавил их в консоль.
Можно ли поменять имя пакета у уже установленного приложения?
Напрямую — нет. Нужно извлечь APK, изменить его, подписать и установить заново как отдельное приложение. Данные старой версии при этом не перенесутся.
Какие символы допустимы в имени пакета?
Строчные латинские буквы, цифры, точки и подчёркивания. Каждый сегмент между точками должен начинаться с буквы. Пробелы, кириллица и спецсимволы недопустимы.
Почему после переименования пропали данные приложения?
Android хранит данные в папке, названной по имени пакета. Новый идентификатор означает новую пустую папку — система воспринимает клон как совершенно другое приложение.