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

Изменить имя пакета APK чаще всего требуется, когда при установке модифицированной версии приложения возникает конфликт подписей или ошибка «пакет с таким именем уже существует». Имя пакета (package name) — это уникальный идентификатор приложения вида com.example.app, который Android использует для различения программ в системе. Без его смены два варианта одного приложения установить одновременно не получится.

Процедура сводится к декомпиляции APK, правке идентификатора в файле AndroidManifest.xml, обратной сборке и подписи результата. Ниже разберём рабочие способы на компьютере и прямо на смартфоне, а также типичные ошибки, из-за которых приложение после правки отказывается запускаться.

Что такое имя пакета и зачем его менять

Имя пакета прописывается в атрибуте package манифеста приложения и остаётся неизменным на протяжении всего жизненного цикла программы. Именно по нему система определяет, является ли устанавливаемый файл обновлением существующего приложения или чем-то новым. Google Play также привязывает страницу приложения к этому идентификатору.

На практике смену пакета выполняют в нескольких ситуациях:

  • 📦 установка двух копий одного приложения (клонирование) на одном устройстве;
  • 🔧 обход конфликта при установке модифицированной версии поверх оригинала;
  • 🛠️ подготовка собственной сборки форкнутого проекта с открытым кодом;
  • 🧪 тестирование приложения без затирания рабочей версии и её данных.
⚠️ Внимание: изменение имени пакета стороннего приложения делает его «новым» с точки зрения системы — данные и настройки оригинала не перенесутся автоматически. Кроме того, модификация чужих программ может нарушать лицензионное соглашение и условия использования сервиса.

Способ 1: Apktool на компьютере

Наиболее контролируемый метод — декомпиляция через Apktool на ПК с Windows, Linux или macOS. Для работы понадобится установленная Java (JRE/JDK), сам Apktool и утилита для подписи, например apksigner из Android SDK Build-tools или uber-apk-signer.

Декомпиляция выполняется одной командой в терминале:

apktool d app.apk -o app_decoded

В результате появится папка с ресурсами и файлами приложения. Откройте AndroidManifest.xml в текстовом редакторе и найдите атрибут package="com.example.app" в корневом элементе <manifest>. Замените значение на новое, например com.example.app.clone, сохраняя структуру из букв, цифр, точек и подчёркиваний.

После правки соберите пакет обратно:

apktool b app_decoded -o app_mod.apk

Неподписанный APK система не установит, поэтому финальный шаг — подпись. С uber-apk-signer это делается командой вида:

java -jar uber-apk-signer.jar -a app_mod.apk

☑️ Смена пакета через Apktool

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

Способ 2: APK Editor прямо на Android

Если компьютера под рукой нет, имя пакета можно поменять на самом смартфоне. Для этого существуют редакторы APK — например, приложения с функцией «полного редактирования» (full edit) манифеста. Точные названия пунктов меню зависят от версии конкретного редактора, поэтому ориентируйтесь на общую логику: выбор файла → полное редактирование → правка манифеста.

Общий порядок действий выглядит так:

  • 📱 выберите APK-файл или уже установленное приложение в редакторе;
  • ✏️ откройте режим полного редактирования и перейдите к AndroidManifest.xml;
  • 🔄 замените значение атрибута package на новое имя;
  • 💾 сохраните изменения — редактор сам пересоберёт и подпишет файл тестовым ключом.
📊 Каким способом вы меняли имя пакета APK?
Apktool на компьютере
Редактор APK на смартфоне
Android Studio (свой проект)
Ещё не пробовал

Метод на смартфоне удобен своей скоростью, но менее предсказуем: встроенная подпись тестовым ключом иногда конфликтует с проверками целостности внутри самого приложения. Если после установки программа вылетает при запуске, вероятнее всего, сработала именно такая защита.

Способ 3: смена applicationId в Android Studio

Когда речь идёт о собственном проекте, декомпиляция не нужна вовсе. В Android Studio идентификатор задаётся параметром applicationId в файле build.gradle модуля приложения:

android {

defaultConfig {

applicationId "com.example.myapp.new"

}

}

После правки выполните синхронизацию проекта с Gradle и пересоберите APK через меню Build → Build Bundle(s) / APK(s). Важно не путать applicationId с пакетом исходного кода: переименовывать папки с классами для смены идентификатора не обязательно, хотя для порядка это делают через рефакторинг.

Сравнение способов

СпособИнструментыСложностьПодходит для
Apktool на ПКJava, Apktool, signerСредняяЧужие APK, тонкая настройка
Редактор на AndroidПриложение-редакторНизкаяБыстрое клонирование
Android StudioIDE, исходный кодНизкаяСобственные проекты
Онлайн-сервисыБраузерНизкаяНе рекомендуется — риск внедрения кода
⚠️ Внимание: загружать APK на сомнительные онлайн-сервисы «переименования пакета» небезопасно — в файл могут встроить сторонний код, и проверить это после подписи будет сложно. Используйте локальные инструменты с открытым исходным кодом.

Почему приложение не работает после смены пакета

Самая частая жалоба — приложение устанавливается, но падает при запуске. Возможные причины стоит проверять в таком порядке. Сначала убедитесь, что APK действительно подписан: неподписанный файл Android отклонит ещё на этапе установки. Затем проверьте, не сломалась ли сборка из-за ошибок Apktool — при декомпиляции и сборке утилита выводит предупреждения, которые нельзя игнорировать.

Вторая группа причин — привязки внутри самого приложения. Некоторые программы жёстко прописывают своё имя пакета в коде, например в authority провайдеров вида com.example.app.provider, в разрешениях или в проверках лицензии. Если в манифесте есть элементы <provider> или кастомные <permission>, их идентификаторы тоже нужно привести к новому имени пакета, иначе возможны конфликты и сбои.

Третья причина — обращения к серверам. Приложения, которые отправляют имя пакета на backend (аналитика, проверка подлинности, in-app покупки через Google Play), могут отказаться работать с неизвестным идентификатором. Это ограничение обойти простой правкой манифеста нельзя.

Ограничения и риски

Изменённый пакет означает разрыв связи с оригиналом: обновления из магазина приложений приходить не будут, данные и аккаунты придётся настраивать заново. Для приложений с привязкой к устройству или серверной авторизацией клон может оказаться частично неработоспособным.

Отдельно стоит помнить про подпись. Оригинальная цифровая подпись после модификации становится недействительной, и файл подписывается новым ключом. Системы защиты, сверяющие сертификат подписи, воспримут это как подделку.

Что делать, если Apktool выдаёт ошибку при сборке

Чаще всего помогает обновление Apktool до последней версии и установка свежего framework-файла командой apktool if с соответствующим framework-res.apk от вашей прошивки. Также проверьте, что в путях к файлам нет кириллицы и пробелов — это известный источник сбоев на Windows.

Частые вопросы

Можно ли изменить имя пакета без компьютера?

Да, с помощью редакторов APK на самом смартфоне. Они позволяют открыть манифест, заменить атрибут package и автоматически подписать результат. Надёжность ниже, чем у Apktool на ПК, но для простых приложений метод работает.

Удалится ли оригинальное приложение после установки клона?

Нет. Именно в этом смысл смены пакета: система воспринимает файл с новым идентификатором как отдельное приложение, и обе копии существуют независимо, со своими данными и настройками.

Нужен ли root для смены имени пакета?

Нет, root-права не требуются. Достаточно разрешить установку приложений из неизвестных источников в настройках безопасности устройства. Root может понадобиться разве что для извлечения APK уже установленного системного приложения.

Почему после установки клона приложение вылетает?

Наиболее вероятные причины: неправленые authority провайдеров и кастомные разрешения в манифесте, встроенная проверка подписи или целостности, а также серверная привязка к имени пакета. Проверяйте манифест на остаточные упоминания старого идентификатора.

Легально ли изменять имя пакета чужого приложения?

Ответ зависит от лицензии конкретной программы и законодательства вашей страны. Модификация для личного использования и распространение модифицированной копии — юридически разные вещи; публикация чужого изменённого APK почти всегда нарушает права правообладателя.