Как изменить название пакета APK-файла

Изменить название пакета 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.

☑️ Смена имени пакета на телефоне

Выполнено: 0 / 5

Если приложение после запуска сразу закрывается, вероятная причина — в коде программы есть обращения к старому имени пакета (например, в строках resources.arsc или проверке подписи). В таком случае потребуется полная декомпиляция через Apktool и правка smali-кода, что заметно сложнее.

📊 Зачем вам нужно изменить имя пакета APK?
Установить вторую копию приложения
Убрать конфликт подписей
Собрать свою модификацию
Тестирование своего проекта

Способ 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 хранит данные в папке, названной по имени пакета. Новый идентификатор означает новую пустую папку — система воспринимает клон как совершенно другое приложение.