Как изменить название пакета apk на андроид

I planned to change the package name through smali(reverse) when I open up apktool.yml, I saw this forced-package-id: '127' I have tried to change it but it crash why should i do?

I’ve tried different approaches but the most reliable for me has been the method described here:

https://forum.xda-developers.com/t/how-to-guide-mod-change-package-names-of-apks.2760965/

These are the steps:

  1. Decode APK (using apktool)
  2. Edit apktool.yml
  3. Edit AndroidManifest.xml
  4. Rename smali subfolders
  5. Search & Replace *.smali (using Notepad++)
  6. Build APK (using apktool)
  7. Sign APK (using apksigner)

Tools needed:

  • Apktool — https://ibotpeaches.github.io/Apktool/
  • Notepad++ — https://notepad-plus-plus.org/downloads/
  • apksigner — https://developer.android.com/studio/command-line/apksigner

Download apktool and wrapper script to C:apktool.

Let’s assume you want to modify from/to as specified here:

From: XVipreSettings.apk (Package name: com.xvipre.settings)

To: ModdedApp.apk (Package name: com.modded.app)

1. Decode APK (using apktool)

apktool.bat d XVipreSettings.apk

2. Edit apktool.yml

apkFileName: XVipreSettings.apk
...
renameManifestPackage: null

is changed to:

apkFileName: ModdedApp.apk
...
renameManifestPackage: 'com.modded.app'

3. Edit AndroidManifest.xml

package="com.xvipre.settings"

is changed to:

package="com.modded.app"

4. Rename smali subfolders

move .XVipreSettingssmalicomxvipresettings .XVipreSettingssmalicomxvipreapp
move .XVipreSettingssmalicomxvipre .XVipreSettingssmalicommodded

5. Search & Replace *.smali

  • Start Notepad++
  • Menu > Search > Find in Files… (Ctrl+Shift+F)
  • Find what : «Lcom/xvipre/settings»
  • Replace with : «Lcom/modded/app»
  • Filters : «*.smali»
  • Directory : «C:apktoolXVipreSettingssmalicom»
  • Press Replace in Files (may take a few minutes)

6. Build APK

apktool.bat b XVipreSettings -o ModdedApp.apk

7. Sign APK

(I’m assuming 31.0.0 here yours may be different, also if you don’t want to sign using debug certificate you need to modify this step accordingly)

%homedrive%%homepath%AppDataLocalAndroidSdkbuild-tools31.0.0apksigner.bat sign --ks %homedrive%%homepath%.androiddebug.keystore --ks-pass pass:android --key-pass pass:android C:apktoolModdedApp.apk

I’ve tried different approaches but the most reliable for me has been the method described here:

https://forum.xda-developers.com/t/how-to-guide-mod-change-package-names-of-apks.2760965/

These are the steps:

  1. Decode APK (using apktool)
  2. Edit apktool.yml
  3. Edit AndroidManifest.xml
  4. Rename smali subfolders
  5. Search & Replace *.smali (using Notepad++)
  6. Build APK (using apktool)
  7. Sign APK (using apksigner)

Tools needed:

  • Apktool — https://ibotpeaches.github.io/Apktool/
  • Notepad++ — https://notepad-plus-plus.org/downloads/
  • apksigner — https://developer.android.com/studio/command-line/apksigner

Download apktool and wrapper script to C:apktool.

Let’s assume you want to modify from/to as specified here:

From: XVipreSettings.apk (Package name: com.xvipre.settings)

To: ModdedApp.apk (Package name: com.modded.app)

1. Decode APK (using apktool)

apktool.bat d XVipreSettings.apk

2. Edit apktool.yml

apkFileName: XVipreSettings.apk
...
renameManifestPackage: null

is changed to:

apkFileName: ModdedApp.apk
...
renameManifestPackage: 'com.modded.app'

3. Edit AndroidManifest.xml

package="com.xvipre.settings"

is changed to:

package="com.modded.app"

4. Rename smali subfolders

move .XVipreSettingssmalicomxvipresettings .XVipreSettingssmalicomxvipreapp
move .XVipreSettingssmalicomxvipre .XVipreSettingssmalicommodded

5. Search & Replace *.smali

  • Start Notepad++
  • Menu > Search > Find in Files… (Ctrl+Shift+F)
  • Find what : «Lcom/xvipre/settings»
  • Replace with : «Lcom/modded/app»
  • Filters : «*.smali»
  • Directory : «C:apktoolXVipreSettingssmalicom»
  • Press Replace in Files (may take a few minutes)

6. Build APK

apktool.bat b XVipreSettings -o ModdedApp.apk

7. Sign APK

(I’m assuming 31.0.0 here yours may be different, also if you don’t want to sign using debug certificate you need to modify this step accordingly)

%homedrive%%homepath%AppDataLocalAndroidSdkbuild-tools31.0.0apksigner.bat sign --ks %homedrive%%homepath%.androiddebug.keystore --ks-pass pass:android --key-pass pass:android C:apktoolModdedApp.apk

18 ответов

Если вы используете Eclipse, вы можете попробовать эти инструкции с сайта разработчика Android. Они специально предназначены для примера GestureBuilder, но должны быть применимы к любому приложению, насколько я могу судить:

[H] как вы могли бы сделать это в Eclipse:

  • Щелкните правой кнопкой мыши имя пакета (src/com.android.gesture.builder).
  • Выберите «Рефакторинг» > «Переименовать» и изменить имя, например, com.android.gestureNEW.builder.
  • Откройте файл манифеста. Внутри <manifest>, измените имя пакета на com.android.gestureNEW.builder.
  • Откройте каждый из двух файлов Activity и сделайте Ctrl-Shift-O, чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл. Запустите приложение GestureBuilder на эмуляторе.

Кроме того, убедитесь, что вы запомнили переименование самого пакета вместе со ссылками на него в файлах. В Eclipse вы можете увидеть имя пакета в окне окна/дерева файла в левой части окна. По моему опыту, Eclipse иногда может быть немного фиктивным и ненадежным с этим (например, оставляя бездомные ссылки на старое имя пакета).

eldarerathis
26 окт. 2010, в 16:53

Поделиться

В Eclipse можно легко изменить имя пакета. Щелкните правой кнопкой мыши на своем проекте, прокрутите вниз до Android-инструментов и нажмите «Переименовать пакет приложений».

Marc Bernstein
26 окт. 2010, в 17:02

Поделиться

Здесь вы можете сделать это в Eclipse:

  • Щелкните правой кнопкой мыши имя пакета (src/com.android.gesture.builder).
  • Выберите Refactor > Rename и измените имя, например, на
    com.android.gestureNEW.builder.
  • Откройте файл манифеста. Внутри тега <manifest> измените имя пакета на com.android.gestureNEW.builder.
  • Откройте каждый из двух файлов Activity и сделайте Ctrl + Shift + O, чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл.
  • Запустите приложение GestureBuilder на эмуляторе.

Ссылка на сообщение

Обновление
супер легкий способ
щелкните правой кнопкой мыши по вашему проекту…
Изображение 108878

AZ_
07 фев. 2012, в 06:52

Поделиться

В Android Studio, который, честно говоря, вы должны использовать, измените имя пакета на right-clicking на имя пакета в project structure -> Refactor -> Rename...

Затем он дает возможность переименования каталога или пакета. Выберите пакет. Справочник должен следовать примеру. Введите новое имя пакета и нажмите «Refactor». Он изменит весь импорт и удалит избыточный импорт для вас. Вы даже можете исправить это для вас в комментариях и строках и т.д.

Наконец,, измените имя пакета в AndroidManifest.xml по направлению вверх. В противном случае вы получите ошибки повсюду, жалуясь на R.whatever.

Другое очень полезное решение

Сначала создайте новый пакет с нужным именем by right clicking on the java folder → new → package.`

Затем выберите и перетащите все ваши классы в новый пакет. AndroidStudio будет переопределять имя пакета везде.

После этого: в приложении build.gradle добавьте/отредактируйте applicationId с новым. т.е. (com.a.bc в моем случае):

defaultConfig {
    applicationId "com.a.bc"
    minSdkVersion 13
    targetSdkVersion 19
}

Оригинальная публикация и комментарии здесь

craned
11 окт. 2013, в 15:43

Поделиться

Без Eclipse:

  • Измените имя пакета и названия активности в AndroidManifext.xml и в любом другом месте в XML файлах (пользовательские имена и т.д.)

  • Обновить оператор импорта пакета во всех исходных файлах

  • Переименуйте все папки в соответствии с именем пакета. Расположение папок:
    а. bin/классы
    б. ген
    с. ЦСИ

  • Обновите имя проекта в файле build.xml(или ваше имя apk не изменится)

  • Удалите все файлы .class в bin/classes/com/example/myapp/(если вы пропустите этот шаг, файлы не будут перезаписаны во время сборки, а dex даст кучу проблем с обработкой «имя класса» не соответствуют пути «

  • Удалить gen/com/example/myapp/BuildConfig.java(я не знаю, почему удаление BuildConfig.class на шаге 3a не вызывало dex для обновления пути к этому, но до тех пор, пока я не удалю BuildConfig. java он продолжал воссоздавать gen/com/oldapp_example/oldapp и помещать там BuildConfig.class. Я не знаю, почему у R.java из того же места нет этой проблемы. Я подозреваю, что BuildConfig.java автоматически сгенерирован в pre -compile, но R.java нет)

Вышеуказанные 6 шагов — это то, что я сделал, чтобы изменить имя моего пакета и получить успешную * сборку. Может быть лучший способ обработать шаги 5 и 6 через команды dex для обновления путей или, возможно, путем редактирования classes.dex.d в корневой директории проекта. Я не знаком с dex или если это нормально для удаления/редактирования classes.dex.d, поэтому я пошел с методом удаления файлов .class, которые, как я знаю, будут восстановлены в сборке. Затем я проверил classes.dex.d, чтобы узнать, что еще нужно обновить.

* В моей сборке нет ошибок или предупреждений. EXCEPT dex и apkbuilder устанавливают состояние «Найденный удаленный целевой файл» без каких-либо особенностей того, что этот файл. Не уверен, что это отображается в каждой сборке, если она была там до того, как я испортился с моим именем пакета, или если это результат моих удалений, и мне не хватает шага.

clusterflux
04 янв. 2013, в 15:59

Поделиться

Самый быстрый способ сделать это в Android Studio 1.3:

  • Измените имя пакета в manifest
  • Перейдите в Module Settings[F4]-> Flavors, в Application Id введите одно и то же имя.
  • Создайте новый пакет с таким именем: [right-click-> new-> package]
  • Выберите все java файлы вашего проекта, а затем продолжите [Right-click-> Refactor-> Move-> {Select package}-> Refactor]

P.S. Если вы не будете следовать этому заказу, вы можете в конечном итоге изменить все java файлы один за другим с новыми импортерами и кучей ошибок времени компиляции, поэтому порядок очень важен.

Movsar Bekaev
02 сен. 2015, в 17:21

Поделиться

Выполните следующие действия: —

  • Щелкните правой кнопкой мыши проект.
  • Перейдите в Android-инструменты.
  • Нажмите «Переименовать пакет приложений».
  • Измените имя пакета приложения.

DONE

Deepak Sharma
25 сен. 2013, в 06:58

Поделиться

Изменение названия пакета — боль в заднице. Похоже, что разные методы работают для разных людей. Мое решение быстро и безошибочно. Похоже, что не требуется очистка или сброс затмения.

  • Щелкните правой кнопкой мыши имя пакета, затем Refractor > Rename.
  • Щелкните правой кнопкой мыши название проекта Android. > Переименуйте пакет приложений.
  • Вручную установите имена пакетов в манифесте, которые не были изменены предыдущими шагами.

erdomester
11 фев. 2012, в 22:31

Поделиться

  • Fist изменить имя пакета в файле манифеста
  • Re-factor > Переименуйте имя пакета в папку src и поставьте галочку для rename subpackages
  • Это все, что вы сделали.

Sathirar
29 дек. 2012, в 04:54

Поделиться

Я нашел самое легкое решение: Regexxer заменить «com.package.name» на «com.newpackage.name», а затем правильно переименуйте каталоги. Супер легкий, супер быстрый.

robisaks
12 авг. 2011, в 15:05

Поделиться

У Бернштейна есть метод, используйте инструмент Eclipse, «Переименуйте пакет приложений», вам, возможно, придется выполнить некоторую очистку даже после факта.
Кроме того, Eclipse иногда теряет смысл, когда вы вносите изменения в проект. Возможно, вам придется использовать инструмент «Чистый проект» (в меню «Проект».) Если это не сработает, возможно, вам придется закрыть и перезапустить Eclipse. Voo-doo, но Eclipse может быть таким.

m0j0
01 авг. 2011, в 15:51

Поделиться

Существует также другое решение для пользователей без Eclipse, просто измените атрибут package в <manifest> в AndroidManifest.xml, заменив прежнее имя пакета, используемое новым. Примечание.. Вы также должны вручную настроить все связанные операторы импорта и связанные с ними папки в своем проекте.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="new.package.name"
    .....
</manifest>

LikeYou
17 июль 2012, в 07:05

Поделиться

В Android Studio 1.2.2
Скажем, если вы хотите изменить com.example.myapp на org.mydomain.mynewapp
Вы можете выполнить шаги в каждом из каталогов, как показано на следующем снимке экрана. Он предоставит вам возможность предварительного просмотра, чтобы вы могли предварительно просмотреть все изменения.

Перейдите к Refactor -> Rename и укажите свое новое имя. Вы должны сделать это для каждой из папок, например, для com, example и myapp. Он автоматически обновит импорт, чтобы вам не пришлось беспокоиться об этом.
Изображение 108879

Также обновите файл build.gradle, который не обновляется автоматически.

defaultConfig {
        applicationId "org.mydomain.mynewapp" //update the new package name here
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

После этого он попросит sync сделать это. Тогда все будет хорошо. После этого я могу загрузить APK в Google Store. Убедитесь, что вы подписали приложение, чтобы загрузить его в магазин.

Krishnadas PC
14 окт. 2015, в 15:06

Поделиться

Я просто потерял несколько часов, пытаясь найти все решения. Я был уверен, проблема в моем коде — запуск apk, но некоторые ошибки при работе с разными классами и действиями.

Только способ работы с моим проектом:

  • переименуйте его — файл/переименовать и отметьте все флажки
  • проверьте, не переименованные места, у меня было в одном из старых старое имя все еще в инструментах: context = «..
  • создать новое рабочее пространство
  • импортировать проект в новое рабочее пространство

Для меня это работает, только решение.

Dudeist
03 нояб. 2014, в 02:56

Поделиться

  • Щелкните правой кнопкой мыши по проекту > Инструменты Android > Переименуйте пакет приложений

  • Перейдите в src и щелкните правой кнопкой мыши на основном пакете > Рефакторинг > Переименовать

  • Перейдите в файл манифеста и измените имя своего пакета.

ritesh4326
26 фев. 2014, в 05:28

Поделиться

Альтернатива:

  • Открыть AndroidManifest.xml
  • Изменить пакет = «NEW NAME» в теге манифеста.

MapleLover
18 апр. 2013, в 16:27

Поделиться

Итак, использование IntelliJ с плагином Android (Studio) было следующим: я пошел в AndroidManifest.xml сверху и изменил имя пакета, щелкнув правой кнопкой мыши → Refactor → rename.
У нашего имени пакета было четыре части a.b.c.d, а новая — только a.b.c.
Поэтому я переименовал первые три. Затем я отправился в каталог сгенерированных источников (appbuildgeneratedsourcerdevelopmentdebugabcd), щелкнул правой кнопкой мыши R класс и Refactor- > Move [d] до одного пакета выше. То же самое с BuildConfig в appbuildgeneratedsourcebuildConfigdevelopmentdebugabcd.

Используя Refactor- > Move, IntelliJ обновляет все ссылки на BuildConfig и R.

Наконец, я обновил все applicationId [s], которые я нашел в gradle.build. Я ударил проект Clean Project, Make and Rebuild. Удалите приложение с моего телефона и нажмите «Играть». Все это сработало, поэтому рефакторинг был простым и довольно быстрым.

Raul Pinto
18 дек. 2015, в 15:54

Поделиться

Ещё вопросы

  • 0Бесконечная прокрутка перестает работать, как только я добавляю функцию ImagesLoaded в начальное состояние масонства
  • 0Как поток может получить доступ к этой переменной
  • 0Путаница с синтаксисом объявления функций Telerik / Kendo
  • 0Платежи по кредитной карте Payeezy всегда получают сообщение об ошибке «Ошибка проверки HMAC»
  • 1OnClickListener не запускается из родительского класса
  • 0Запись данных с офсетной C ++
  • 1Что может быть причиной ошибки при создании веб-приложения ASP.NET?
  • 0_mysql_exceptions.ProgrammingError 1064, «У вас есть ошибка в синтаксисе SQL; проверьте
  • 1Переключение между представлениями в Android
  • 0как сохранить значение переключателя на другой странице
  • 0передать функцию видимости клонированной (и скомпилированной) угловой директиве
  • 1Быстрый способ создать мульти-массив с тем же размером другого без итерации?
  • 1EntityFramework: доступ к закрытому закрытию
  • 0Могу ли я использовать сервлет с Angular JS и реализовать архитектуру MVC?
  • 1libGDX не будет работать на Android
  • 1Отражение в Entity Framework C #
  • 1Невозможно получить данные из дочерней формы в выбранную родительскую ячейку DataGridView.
  • 1Предварительно загрузить вид в Android?
  • 1Как мне использовать значение локальной переменной в angular2?
  • 0Невозможно установить Angularjs на Windows 7
  • 0Сравнение объектов jQuery
  • 0Инициализация / Назначение переменных члена класса другим переменным члена класса
  • 1Генерация всех перестановок с отдельными ограничениями для каждого индекса
  • 0Как узнать, есть ли какие-либо обновления ОС Windows, доступные для установки?
  • 1Связывание MahApps.Metro DLL вызывает исключение System.Windows.Markup.XamlParseException
  • 0Как избежать событий на элементах позади других в HTML и JavaScript / jQuery
  • 1Значения подсчета данных в пандах для каждого столбца и сумма в новом индексе
  • 0Почему я получаю сообщение об ошибке, используя std :: locale :: locale (const std :: string &)?
  • 0PHPMailer не может отправить письмо
  • 0Подавить предупреждение для fopen [дубликата]
  • 0Событие выпадающего списка JQuery UI при очистке
  • 1Адаптер не будет работать на реальном устройстве
  • 0Не удается получить все изображения из базы данных MySQL
  • 1Модульное тестирование платформы Android
  • 1Ошибка VaderSentiment: TypeError: требуется байтоподобный объект, а не ‘str’
  • 1Умножение на Python ijk, почему мы используем следующую запись присваивания или строку кода?
  • 0поймать ошибки / прочитать код состояния из вызова покоя — угловой
  • 1Доступ к папке ресурсов в приложении Spring / Maven
  • 0C ++: первый символ в очереди неверен
  • 0Исчезать при наведении
  • 0Jquery выбрать и отключить опцию, если только 2 варианта
  • 0использование переменной сеанса php в таблице базы данных mysql
  • 1ASP.NET Identity — проверка уникального адреса электронной почты пользователя в IdentityUser
  • 0php код в случае если условие не работает должным образом
  • 0Почему все привязки разрешаются каждый цикл $ digest?
  • 1Не могу хорошо маршрутизации в MVC3 ASP.NET c #
  • 1Проблемы с окном и уровнем изображения Dicom (иногда)
  • 0Модульный тест для проверки обращения массива
  • 1Почему приложение Tkinter не закрывается после вызова на выход
  • 0angularjs, $ скомпилированные шаблоны и повтор

Предположим, это имя пакета: package com.company.name. Как мне изменить company?

P.S. Я видел, как изменить name, но не company. Я использую Android Studio.

18 ответов

Лучший ответ

Ты можешь это сделать:

Измените имя пакета вручную в файле манифеста. Щелкните свой класс R.java и нажмите F6 (Refactor-> Move …). Это позволит вам переместить класс в другой пакет, и все ссылки на этот класс будут обновлены.

Ссылка: Как переименовать имя пакета Android?


51

Community
23 Май 2017 в 14:55

текущий пакет: com.company.name

Новый пакет: com.mycomapny.name

Шаги: 1) Предположим, вы находитесь на этом экране, показанном ниже.

enter image description here

2) Откройте панель проекта и щелкните значок настроек.

3) Снимите флажок Компактные пустые средние пакеты.

4) Теперь ваша посылка разбита на отдельные части, как показано ниже.

5) щелкните правой кнопкой мыши по «компании», выберите «Рефакторинг» -> выберите переименовать -> переименовать каталог.

enter image description here

6) Теперь ваша «компания» была изменена на новую «mycomapny», и изменения были отражены, как показано на рисунке ниже.

enter image description here

7) Теперь измените имя пакета в файле AndroidManifest.xml.

enter image description here

8) Откройте build.gradle уровня приложения и измените имя пакета.

enter image description here

9) вы получите сообщение об ошибке «Невозможно разрешить символ« R »».

10) Удалите строку, которая дает эту ошибку, и студия автоматически импортирует новый файл R.

11) Если у вас несколько файлов, воспользуйтесь функцией поиска и замены, нажав «Cntrl + Shift + R».

Или «Выберите Правка-> Найти-> Заменить в пути ..»

enter image description here

12) выберите «Заменить все».


58

Janardhan R
18 Мар 2017 в 11:11

Это сработало для меня из https://stackoverflow.com/a/18637004/127434

Еще один хороший метод: сначала создайте новый пакет с желаемым именем, щелкнув правой кнопкой мыши папку java -> новый -> пакет.

Затем выберите и перетащите все свои классы в новый пакет. AndroidStudio повсюду выполняет рефакторинг имени пакета.

Наконец, удалите старый пакет.


33

Community
23 Май 2017 в 15:34

В Android Studio это можно сделать следующим образом:

Например, если вы хотите изменить com.example.app на iu.awesome.game, тогда:

  1. На панели проекта щелкните маленький значок шестеренки (введите здесь описание изображения)
  2. Снимите флажок / снимите флажок Компактные пустые средние пакеты введите здесь описание изображения
  3. Ваш каталог пакетов теперь будет разбит на отдельные каталоги
  4. Индивидуально выберите каждый каталог, который вы хотите переименовать, и:

    • Нажмите правой кнопкой мыши
    • Выбрать рефакторинг

    • Нажмите «Переименовать».

    • Во всплывающем диалоговом окне нажмите «Переименовать пакет» вместо «Переименовать». Каталог

    • Введите новое имя и нажмите «Рефакторинг».

    • Нажмите «Выполнить рефакторинг» внизу

    • Подождите минуту, пока Android Studio обновит все изменения

    • Примечание. При переименовании com в Android Studio может появиться предупреждение. В таком случае выберите «Переименовать все»введите здесь описание изображения

      <старт = «5»>

    • Теперь откройте файл сборки Gradle (build.gradle — обычно приложение или мобильное устройство). Обновите applicationId в defaultConfig на новое имя пакета и синхронизируйте Gradle, если он еще не был обновлен автоматически: введите здесь описание изображения

    • Возможно, вам потребуется изменить атрибут package= в манифесте.

    • Очистить и восстановить.

    • Готово! В любом случае, Android Studio должна немного упростить этот процесс.


15

ibad ur rahman
11 Фев 2019 в 08:19

Решение @Luch Filip хорошо работает, если вы просто хотите переименовать пакет приложения. В моем случае я тоже хочу переименовать исходный пакет, чтобы не путать вещи.

Требуется всего 2 шага:

  1. Нажмите на исходную папку, например. com.company.example> Shift + F6 (Рефакторинг-> Переименовать …)> Переименовать пакет > введите желаемое имя.

  2. Перейдите в свой AndroidManifest.xml, щелкните имя своего пакета> Shift + F6 (Refactor-> Rename …)> введите то же имя, что и выше.

На шаге 1 ваша папка R.java будет автоматически переименована, и вы сразу сможете приступить к сборке.


8

Xakep
23 Апр 2015 в 16:45

Ниже приведены четыре шага:

  1. Щелкните папку приложения ниже:

enter image description here

com.new25.impro. нажмите Shift + F6 {Refactor-> Rename …} , чтобы переименовать пакет, и нажмите refactor.

  1. После этого посмотрите на андроид-монитор. Это шоу меняется везде, где указано название пакета. Щелкните refactor.

  2. Зайдите в модуль app:change идентификатор приложения для вас, как это имя поместили. и нажмите sync now.

  3. Теперь вы можете изменить имя пакета на то, что вам нравится.


5

tiny sunlight
11 Янв 2016 в 17:57

Я прочитал почти все ответы. Но я думаю, что одного не хватает. Иногда я могу ошибаться. Я использовал метод ниже, и он работает.

3 Методы изменения имени пакета в Android Studio

  1. Выберите свой пакет и щелкните правой кнопкой мыши , Рефакторинг -> Переместить .
  2. Выберите Переместить пакет из «вашего пакета» в другой пакет и нажмите ОК.
  3. Появится новое диалоговое окно, в котором говорится, что несколько каталогов соответствуют пакету «ваш пакет», и нажмите Да .
  4. Введите новое имя пакета, за исключением последнего уровня или фамилии. Означает, что вы хотите переименовать пакет в «info.xyz.yourapplication». Затем введите «info.xyz» и оставьте только «ваше приложение».
  5. Нажмите Рефакторинг .
  6. Новое диалоговое окно Информация о пакете.xyz не существует. Вы хотите его создать ?. Нажмите Да .
  7. Нажмите Выполнить рефакторинг .
  8. Щелкните правой кнопкой мыши новый пакет, чтобы изменить фамилию. Рефакторинг-> Переименовать .
  9. Переименовать пакет
  10. введите новое имя и нажмите Выполнить рефакторинг .
  11. Удалите все старые каталоги пакетов.
  12. Измените ApplicationId в файле build.gradle и нажмите синхронизировать сейчас .


4

Jacob George
21 Июл 2019 в 07:49

Если имя домена / пакета вашей компании очень длинное, это сложнее.

Для меня это было недостающее звено. Вам нужно выбрать файлы проекта -> настройки -> затем снять флажок «компактные пустые средние классы».


2

DivineChaos
23 Дек 2015 в 20:13

1) Откройте папку проекта в Android Studio.
2) Выберите папку приложения -> щелкните правой кнопкой мыши и выберите рефакторинг .
3) Нажмите на движение. Он спросит, для какого типа имени пакета у вас есть полное имя пакета, и он попросит создать новый пакет да создать новый автоматически, он попросит gradle на sync.


2

Asim K T
23 Июл 2016 в 12:24

Чтобы переименовать имя пакета в Android Studio, щелкните значок настройки в разделе проекта и снимите флажок Компактные пустые средние пакеты, после чего пакет разделится на несколько имен папок, затем щелкните правой кнопкой мыши папку, в которой нужно изменить имя, нажмите на рефакторинг-> Переименовать-> Введите имя, которое вы хотите изменить -> Рефакторинг -> Каталог рефакторинга, затем импортируйте файл R.java во весь проект. Работает на меня.


2

Deepika kapila
23 Сен 2016 в 18:17

Самый простой способ сделать это — переименовать корневую папку приложения с com.example.MyApp на com.newcompanyname.MyNewAppName, а затем заменить все вхождения старого пути на новый путь в любой IDE, которую вы используете.


0

Prof
17 Апр 2016 в 03:56

Я нашел другое решение для переименования пакета во всем проекте:

Откройте файл в пакете. IntelliJ отображает хлебные крошки файла над открытым файлом. На пакете, который вы хотите переименовать: щелкните правой кнопкой мыши> Рефакторинг> Переименовать. Это переименовывает каталог package / во всем проекте.


0

Thasneem
14 Июн 2016 в 10:09

Я также столкнулся с той же проблемой, и вот как я решил: —

Я хочу изменить имя пакета np.com.shivakrstha.userlog на np.edu.khec.userlog

Я выбрал shivakrstha и нажал Shift + F6 для Rename Refract и переименовал его в khec .

Наконец, используйте то же имя пакета в AndroidManifest.xml , applicationId в build.gradle и не забудьте перестроить свой проект .

Примечание. — Я попытался изменить np на jp , поэтому выбрал np и нажал Shift + F6 для Переименовать Refract и переименован в jp , можно изменить и другие.


0

ersks
19 Июл 2016 в 06:27

Это может вам помочь: 1) Откройте файл вашего пакета. 2) Android Studio отображает хлебные крошки файла над открытым файлом. На пакете, который вы хотите переименовать: щелкните правой кнопкой мыши> Рефакторинг> Переименовать.

enter image description here


0

Bagesh Sharma
14 Дек 2016 в 07:48

Привет, я нашел самый простой способ сделать это.

  1. Создайте новый проект с желаемым именем пакета
  2. скопируйте все файлы из старого проекта в новый (все файлы в old.bad.oldpackage => new.fine.newpackage, res => res)
  3. скопируйте старый build.graddle в новый build.graddle
  4. копировать старый манифест внутри нового манифеста
  5. Сделайте резервную копию или просто удалите старый проект

Выполнено!


0

Martin Jovial
2 Сен 2017 в 02:07

Я не менял ни одного названия пакета. Следующие два шага сработали для меня. После выполнения следующих действий приложение было установлено как НОВОЕ, несмотря на то, что было два приложения с одинаковым именем пакета.

1) В build.gradle

ApplicationId «mynew.mynewpackage.com»

2) В AndroidManifest.xml android: rules = «mynew.mynewpackage.com.fileprovider»


0

VARUN ISAC
5 Дек 2019 в 15:54

В моем случае, когда я переместил свой файл MainActivity в новую структуру папок пакета, как предписано … он изменил мой AndroidManifest.xml. Наконец, после проверки Logcat я понял, что это проблема, и переименовал ее обратно в «.MainActivity» из «.MainActivity»

    <activity
        android:name=".MainActivity"
        android:launchMode="singleTop"
        android:theme="@style/LaunchTheme"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
        android:hardwareAccelerated="true"
        android:windowSoftInputMode="adjustResize">


0

batthis
14 Мар 2021 в 21:38

Рефакторинг-метод студии Android сильно испортился. Так что я сделал это вручную, и он отлично сработал. Также очень просто:

-Резервное копирование, чтобы вы могли вернуться, если что-то пойдет не так.

-В Android Studio: откройте «Заменить в файлах» и введите старое имя пакета, которое нужно заменить новым, и git замените все.

-Закройте Android Studio.

-Вручную переименуйте каталоги в app / src / main / java / … и app / src / test / java / … и app / src / androidTest / java / …

-Откройте Android Studio и очистите проект, перестройте проект -> и готово!


0

Martin
18 Сен 2021 в 21:11

Содержание

  • Способ 1: Переименование ярлыка
    • Вариант 1: Launcher
    • Вариант 2: Shortcut Maker
  • Способ 2: APK Editor
  • Вопросы и ответы

Как переименовать приложение на Андроид

Способ 1: Переименование ярлыка

Самый простой способ достичь цели – изменить название ярлыка. В этом случае имя самого приложения сохранится, зато не придется редактировать его APK-файл. На Android сделать это можно с помощью лаунчеров или специального ПО для создания ярлыков.

Вариант 1: Launcher

Лаунчеры предназначены для индивидуальной настройки «Рабочего стола» и «Главного экрана» Андроид-устройств. Они позволяют обойти часть ограничений стандартного программного интерфейса. Рассмотрим, как переименовать ярлык прикладной программы на примере Apex Launcher.

Скачать Apex Launcher из Google Play Маркета

  1. Запускаем ПО и настраиваем его. Если в этом нет необходимости, пропускаем настройку.
  2. Предварительная настройка Apex Launcher

  3. Экран с предложением подписки тоже пропускаем, так как для изменения названия достаточно бесплатной версии. Если выбрать пробную версию, то через три дня автоматически начнут списываться деньги.
  4. Отказ от подписки в Apex Launcher

  5. После этого будет предложено выбрать программный интерфейс. Переключаемся на «Apex Launcher» и выходим из настроек.
  6. Изменение программного интерфейса в настройках Android

  7. Создаем ярлык приложения путем перетаскивания его на «Рабочий стол», затем долгим нажатием на него вызываем контекстное меню и тапаем «Изменить». Меняем название и жмем «Сохранить».
  8. Изменение названия ярлыка приложения в Apex Launcher

  9. Теперь можно скрыть прикладную программу, оставив только переименованный ярлык. Открываем «Настройки» Апекс Лаунчер и переходим в раздел «Скрытые приложения».
  10. Вход в раздел скрытых приложений в Apex Launcher

  11. На следующем экране тапаем «Скрыть приложения», в списке выбираем нужное и подтверждаем действие.
  12. Скрытие приложения с помощью Apex Launcher

  13. Чтобы потом сделать программное обеспечение видимым, снова открываем «Скрытые приложения» и нажимаем «Восстановить».
  14. Восстановление приложения с помощью Apex Launcher

  15. Чтобы отключить лаунчер, в «Настройках» Android находим «Приложения по умолчанию» или «Стандартные приложения», выбираем «Главный экран» и переключаемся на стандартный интерфейс. В этом случае все настройки, сделанные в Апекс Лаунчер, пропадут, но при переходе обратно прикладная программа снова будет скрытой, а ярлык переименованным.
  16. Выход из Apex Launcher

Вариант 2: Shortcut Maker

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

Скачать Shortcut Maker из Google Play Маркета

  1. Перед созданием ярлыка необходимо добавить виджет приложения на «Рабочий стол», иначе созданный ярлык будет с водяным знаком в виде фирменного логотипа Shortcut Maker. Обычно виджеты на Android-устройствах открываются путем долгого нажатия на пустое место «Рабочего стола». Находим нужный нам и перетаскиваем в любое место.
  2. Добавление виджета Shortcut Maker на рабочий стол

    Lumpics.ru

  3. Shortcut Maker запустится автоматически сразу после добавления виджета. Открываем раздел «Apps». В списке выбираем нужное ПО.
  4. Выбор приложения в Shortcut Maker

  5. Чтобы изменить название, тапаем по текущему имени, меняем его и нажимаем «Done».
  6. Переименование ярлыка приложения с помощью Shortcut Maker

  7. Если нужно поменять иконку, жмем «Shortcut Icon».
  8. Выбор опции изменения иконки приложения в Shortcut Maker

  9. Выбираем источник изображения, например, «Галерея» смартфона, и подгружаем картинку.
  10. Выбор изображения для иконки приложения в Shortcut Maker

  11. Когда ярлык будет готов, тапаем «Create shortcut» и проверяем результат.
  12. Создание переименованного ярлыка приложения в Shortcut Maker

Скрыть саму программу, как это можно было сделать в Apex Launcher, не получится. Есть, конечно, специальное ПО для этого, но не факт, что приложение потом вообще запустится с созданного ярлыка. В данном случае можно просто попробовать спрятать его в папку.

Способ 2: APK Editor

Это уже более сложный и мощный инструмент, предназначенный для просмотра и редактирования APK-файлов. В нем доступны такие операции, как удаление рекламы, изменение фона изображений, макета архитектуры, разрешения и др. Для этого нужны соответствующие навыки, но переименовать прикладную программу с помощью APK Editor сможет каждый. Программное обеспечение уже удалено из Google Play Маркета, но его можно скачать по ссылке ниже.

Скачать APK Editor

  1. Загружаем установочный файл APK Editor на смартфон, запускаем его и тапаем «Установить».
  2. Установка APK Editor

  3. Снова жмем «Установить», и когда процесс установки завершится, нажимаем «Открыть», чтобы запустить приложение.
    Запуск APK Editor

    Читайте также: Как установить приложение на Android

  4. Предоставляем APK Editor доступ к мультимедийным файлам.
  5. Предоставление доступа к мультимедийным файлам APK Editor

  6. В меню приложения тапаем «Выберите установленный APK».
  7. Переход к списку установленных приложений в APK Editor

  8. В списке выбираем прикладную программу, название которой хотим изменить, и нажимаем «Общее редактирование».
  9. Выбор приложения для редактирования в APK Editor

  10. Вписываем новое название ПО и тапаем «Сохранить».
  11. Изменение названия приложения в APK Editor

  12. Будет создан модифицированный APK-файл, путь к которому указан в центре экрана. С его помощью придется переустановить приложение, чтобы изменения вступили в силу. Тапаем «Установить», а затем подтверждаем действие. Ждем завершения установки. Разработчики заверяют, что данные прикладной программы при этом не пострадают.
  13. Переустановка модифицированного APK-файла приложения

  14. Если установка поверх текущего приложения не удалась, удаляем его.
  15. Удаление приложения из системы

  16. Теперь в памяти устройства находим и устанавливаем модифицированный APK-файл.
  17. Установка созданного в APK Editor файла

  18. Проверяем результат. Приложение будет переименовано.
  19. Приложение с измененным названием

Еще статьи по данной теме:

Помогла ли Вам статья?

Вопрос:

Мое хранилище ключей повреждено, поэтому Android Market требует от меня переименовать приложение и повторно отправить его. Тем не менее, всякий раз, когда я перехожу к редактированию имен пакетов в манифесте и по всем файлам, это дает мне массу ошибок.

Каков правильный способ изменения имени приложения?

Лучший ответ:

Если вы используете Eclipse, вы можете попробовать эти инструкции с сайта разработчика Android. Они специально предназначены для примера GestureBuilder, но должны быть применимы к любому приложению, насколько я могу судить:

[H] как вы могли бы сделать это в Eclipse:

  • Щелкните правой кнопкой мыши имя пакета (src/com.android.gesture.builder).
  • Выберите “Рефакторинг” > “Переименовать” и изменить имя, например, com.android.gestureNEW.builder.
  • Откройте файл манифеста. Внутри <manifest>, измените имя пакета на com.android.gestureNEW.builder.
  • Откройте каждый из двух файлов Activity и сделайте Ctrl-Shift-O, чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл. Запустите приложение GestureBuilder на эмуляторе.

Кроме того, убедитесь, что вы запомнили переименование самого пакета вместе со ссылками на него в файлах. В Eclipse вы можете увидеть имя пакета в окне окна/дерева файла в левой части окна. По моему опыту, Eclipse иногда может быть немного фиктивным и ненадежным с этим (например, оставляя бездомные ссылки на старое имя пакета).

Ответ №1

В Eclipse можно легко изменить имя пакета. Щелкните правой кнопкой мыши на своем проекте, прокрутите вниз до Android-инструментов и нажмите “Переименовать пакет приложений”.

Ответ №2

Здесь вы можете сделать это в Eclipse:

  • Щелкните правой кнопкой мыши имя пакета (src/com.android.gesture.builder).
  • Выберите Refactor > Rename и измените имя, например, на
    com.android.gestureNEW.builder.
  • Откройте файл манифеста. Внутри тега <manifest> измените имя пакета на com.android.gestureNEW.builder.
  • Откройте каждый из двух файлов Activity и сделайте Ctrl + Shift + O, чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл.
  • Запустите приложение GestureBuilder на эмуляторе.

Ссылка на сообщение

Обновление
супер легкий способ
щелкните правой кнопкой мыши по вашему проекту…
enter image description here

Ответ №3

В Android Studio, который, честно говоря, вы должны использовать, измените имя пакета на right-clicking на имя пакета в project structure -> Refactor -> Rename...

Затем он дает возможность переименования каталога или пакета. Выберите пакет. Справочник должен следовать примеру. Введите новое имя пакета и нажмите “Refactor”. Он изменит весь импорт и удалит избыточный импорт для вас. Вы даже можете исправить это для вас в комментариях и строках и т.д.

Наконец,, измените имя пакета в AndroidManifest.xml по направлению вверх. В противном случае вы получите ошибки повсюду, жалуясь на R.whatever.

Другое очень полезное решение

Сначала создайте новый пакет с нужным именем by right clicking on the java folder → new → package.`

Затем выберите и перетащите все ваши классы в новый пакет. AndroidStudio будет переопределять имя пакета везде.

После этого: в приложении build.gradle добавьте/отредактируйте applicationId с новым. т.е. (com.a.bc в моем случае):

defaultConfig {
applicationId "com.a.bc"
minSdkVersion 13
targetSdkVersion 19
}

Оригинальная публикация и комментарии здесь

Ответ №4

Без Eclipse:

  • Измените имя пакета и названия активности в AndroidManifext.xml и в любом другом месте в XML файлах (пользовательские имена и т.д.)

  • Обновить оператор импорта пакета во всех исходных файлах

  • Переименуйте все папки в соответствии с именем пакета. Расположение папок:
    а. bin/классы
    б. ген
    с. ЦСИ

  • Обновите имя проекта в файле build.xml(или ваше имя apk не изменится)

  • Удалите все файлы .class в bin/classes/com/example/myapp/(если вы пропустите этот шаг, файлы не будут перезаписаны во время сборки, а dex даст кучу проблем с обработкой “имя класса” не соответствуют пути “

  • Удалить gen/com/example/myapp/BuildConfig.java(я не знаю, почему удаление BuildConfig.class на шаге 3a не вызывало dex для обновления пути к этому, но до тех пор, пока я не удалю BuildConfig. java он продолжал воссоздавать gen/com/oldapp_example/oldapp и помещать там BuildConfig.class. Я не знаю, почему у R.java из того же места нет этой проблемы. Я подозреваю, что BuildConfig.java автоматически сгенерирован в pre -compile, но R.java нет)

Вышеуказанные 6 шагов – это то, что я сделал, чтобы изменить имя моего пакета и получить успешную * сборку. Может быть лучший способ обработать шаги 5 и 6 через команды dex для обновления путей или, возможно, путем редактирования classes.dex.d в корневой директории проекта. Я не знаком с dex или если это нормально для удаления/редактирования classes.dex.d, поэтому я пошел с методом удаления файлов .class, которые, как я знаю, будут восстановлены в сборке. Затем я проверил classes.dex.d, чтобы узнать, что еще нужно обновить.

* В моей сборке нет ошибок или предупреждений. EXCEPT dex и apkbuilder устанавливают состояние “Найденный удаленный целевой файл” без каких-либо особенностей того, что этот файл. Не уверен, что это отображается в каждой сборке, если она была там до того, как я испортился с моим именем пакета, или если это результат моих удалений, и мне не хватает шага.

Ответ №5

Выполните следующие действия: –

  • Щелкните правой кнопкой мыши проект.
  • Перейдите в Android-инструменты.
  • Нажмите “Переименовать пакет приложений”.
  • Измените имя пакета приложения.

DONE

Ответ №6

Самый быстрый способ сделать это в Android Studio 1.3:

  • Измените имя пакета в manifest
  • Перейдите в Module Settings[F4]-> Flavors, в Application Id введите одно и то же имя.
  • Создайте новый пакет с таким именем: [right-click-> new-> package]
  • Выберите все java файлы вашего проекта, а затем продолжите [Right-click-> Refactor-> Move-> {Select package}-> Refactor]

P.S. Если вы не будете следовать этому заказу, вы можете в конечном итоге изменить все java файлы один за другим с новыми импортерами и кучей ошибок времени компиляции, поэтому порядок очень важен.

Ответ №7

Изменение названия пакета – боль в заднице. Похоже, что разные методы работают для разных людей. Мое решение быстро и безошибочно. Похоже, что не требуется очистка или сброс затмения.

  • Щелкните правой кнопкой мыши имя пакета, затем Refractor > Rename.
  • Щелкните правой кнопкой мыши название проекта Android. > Переименуйте пакет приложений.
  • Вручную установите имена пакетов в манифесте, которые не были изменены предыдущими шагами.

Ответ №8

  • Fist изменить имя пакета в файле манифеста
  • Re-factor > Переименуйте имя пакета в папку src и поставьте галочку для rename subpackages
  • Это все, что вы сделали.

Ответ №9

У Бернштейна есть метод, используйте инструмент Eclipse, “Переименуйте пакет приложений”, вам, возможно, придется выполнить некоторую очистку даже после факта.
Кроме того, Eclipse иногда теряет смысл, когда вы вносите изменения в проект. Возможно, вам придется использовать инструмент “Чистый проект” (в меню “Проект”.) Если это не сработает, возможно, вам придется закрыть и перезапустить Eclipse. Voo-doo, но Eclipse может быть таким.

Ответ №10

Я нашел самое легкое решение: Regexxer заменить “com.package.name” на “com.newpackage.name”, а затем правильно переименуйте каталоги. Супер легкий, супер быстрый.

Ответ №11

Существует также другое решение для пользователей без Eclipse, просто измените атрибут package в <manifest> в AndroidManifest.xml, заменив прежнее имя пакета, используемое новым. Примечание.. Вы также должны вручную настроить все связанные операторы импорта и связанные с ними папки в своем проекте.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="new.package.name"
.....
</manifest>

Ответ №12

Альтернатива:

  • Открыть AndroidManifest.xml
  • Изменить пакет = “NEW NAME” в теге манифеста.

Ответ №13

  • Щелкните правой кнопкой мыши по проекту > Инструменты Android > Переименуйте пакет приложений

  • Перейдите в src и щелкните правой кнопкой мыши на основном пакете > Рефакторинг > Переименовать

  • Перейдите в файл манифеста и измените имя своего пакета.

Ответ №14

Я просто потерял несколько часов, пытаясь найти все решения. Я был уверен, проблема в моем коде – запуск apk, но некоторые ошибки при работе с разными классами и действиями.

Только способ работы с моим проектом:

  • переименуйте его – файл/переименовать и отметьте все флажки
  • проверьте, не переименованные места, у меня было в одном из старых старое имя все еще в инструментах: context = “..
  • создать новое рабочее пространство
  • импортировать проект в новое рабочее пространство

Для меня это работает, только решение.

Ответ №15

В Android Studio 1.2.2
Скажем, если вы хотите изменить com.example.myapp на org.mydomain.mynewapp
Вы можете выполнить шаги в каждом из каталогов, как показано на следующем снимке экрана. Он предоставит вам возможность предварительного просмотра, чтобы вы могли предварительно просмотреть все изменения.

Перейдите к Refactor -> Rename и укажите свое новое имя. Вы должны сделать это для каждой из папок, например, для com, example и myapp. Он автоматически обновит импорт, чтобы вам не пришлось беспокоиться об этом.
введите описание изображения здесь

Также обновите файл build.gradle, который не обновляется автоматически.

defaultConfig {
applicationId "org.mydomain.mynewapp" //update the new package name here
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}

После этого он попросит sync сделать это. Тогда все будет хорошо. После этого я могу загрузить APK в Google Store. Убедитесь, что вы подписали приложение, чтобы загрузить его в магазин.

Ответ №16

Итак, использование IntelliJ с плагином Android (Studio) было следующим: я пошел в AndroidManifest.xml сверху и изменил имя пакета, щелкнув правой кнопкой мыши → Refactor → rename.
У нашего имени пакета было четыре части a.b.c.d, а новая – только a.b.c.
Поэтому я переименовал первые три. Затем я отправился в каталог сгенерированных источников (appbuildgeneratedsourcerdevelopmentdebugabcd), щелкнул правой кнопкой мыши R класс и Refactor- > Move [d] до одного пакета выше. То же самое с BuildConfig в appbuildgeneratedsourcebuildConfigdevelopmentdebugabcd.

Используя Refactor- > Move, IntelliJ обновляет все ссылки на BuildConfig и R.

Наконец, я обновил все applicationId [s], которые я нашел в gradle.build. Я ударил проект Clean Project, Make and Rebuild. Удалите приложение с моего телефона и нажмите “Играть”. Все это сработало, поэтому рефакторинг был простым и довольно быстрым.

Ответ №17

Ниже приведен краткий шаг за шагом, чтобы изменить название приложения Android App в Android Studio…
qaru.site/questions/23380/…

Понравилась статья? Поделить с друзьями:
  • Как изменить название пакета apk editor
  • Как изменить название паблика вконтакте
  • Как изменить название ноутбука windows 10 при запуске
  • Как изменить название нескольких файлов сразу
  • Как изменить название нескольких файлов одновременно