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:
- Decode APK (using apktool)
- Edit apktool.yml
- Edit AndroidManifest.xml
- Rename smali subfolders
- Search & Replace *.smali (using Notepad++)
- Build APK (using apktool)
- 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:
- Decode APK (using apktool)
- Edit apktool.yml
- Edit AndroidManifest.xml
- Rename smali subfolders
- Search & Replace *.smali (using Notepad++)
- Build APK (using apktool)
- 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
на эмуляторе.
Ссылка на сообщение
Обновление
супер легкий способ
щелкните правой кнопкой мыши по вашему проекту…
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. Он автоматически обновит импорт, чтобы вам не пришлось беспокоиться об этом.
Также обновите файл 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) Предположим, вы находитесь на этом экране, показанном ниже.
2) Откройте панель проекта и щелкните значок настроек.
3) Снимите флажок Компактные пустые средние пакеты.
4) Теперь ваша посылка разбита на отдельные части, как показано ниже.
5) щелкните правой кнопкой мыши по «компании», выберите «Рефакторинг» -> выберите переименовать -> переименовать каталог.
6) Теперь ваша «компания» была изменена на новую «mycomapny», и изменения были отражены, как показано на рисунке ниже.
7) Теперь измените имя пакета в файле AndroidManifest.xml.
Откройте build.gradle уровня приложения и измените имя пакета.
9) вы получите сообщение об ошибке «Невозможно разрешить символ« R »».
10) Удалите строку, которая дает эту ошибку, и студия автоматически импортирует новый файл R.
11) Если у вас несколько файлов, воспользуйтесь функцией поиска и замены, нажав «Cntrl + Shift + R».
Или «Выберите Правка-> Найти-> Заменить в пути ..»
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, тогда:
- На панели проекта щелкните маленький значок шестеренки (
)
- Снимите флажок / снимите флажок Компактные пустые средние пакеты
- Ваш каталог пакетов теперь будет разбит на отдельные каталоги
-
Индивидуально выберите каждый каталог, который вы хотите переименовать, и:
- Нажмите правой кнопкой мыши
-
Выбрать рефакторинг
-
Нажмите «Переименовать».
-
Во всплывающем диалоговом окне нажмите «Переименовать пакет» вместо «Переименовать». Каталог
-
Введите новое имя и нажмите «Рефакторинг».
-
Нажмите «Выполнить рефакторинг» внизу
-
Подождите минуту, пока 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 шага:
-
Нажмите на исходную папку, например.
com.company.example
> Shift + F6 (Рефакторинг-> Переименовать …)> Переименовать пакет > введите желаемое имя. -
Перейдите в свой AndroidManifest.xml, щелкните имя своего пакета> Shift + F6 (Refactor-> Rename …)> введите то же имя, что и выше.
На шаге 1 ваша папка R.java будет автоматически переименована, и вы сразу сможете приступить к сборке.
8
Xakep
23 Апр 2015 в 16:45
Ниже приведены четыре шага:
- Щелкните папку приложения ниже:
com.new25.impro. нажмите Shift + F6 {Refactor-> Rename …} , чтобы переименовать пакет, и нажмите refactor
.
-
После этого посмотрите на андроид-монитор. Это шоу меняется везде, где указано название пакета. Щелкните
refactor
. -
Зайдите в модуль
app:change
идентификатор приложения для вас, как это имя поместили. и нажмитеsync now
. -
Теперь вы можете изменить имя пакета на то, что вам нравится.
5
tiny sunlight
11 Янв 2016 в 17:57
Я прочитал почти все ответы. Но я думаю, что одного не хватает. Иногда я могу ошибаться. Я использовал метод ниже, и он работает.
3 Методы изменения имени пакета в Android Studio
- Выберите свой пакет и щелкните правой кнопкой мыши , Рефакторинг -> Переместить .
- Выберите Переместить пакет из «вашего пакета» в другой пакет и нажмите ОК.
- Появится новое диалоговое окно, в котором говорится, что несколько каталогов соответствуют пакету «ваш пакет», и нажмите Да .
- Введите новое имя пакета, за исключением последнего уровня или фамилии. Означает, что вы хотите переименовать пакет в «info.xyz.yourapplication». Затем введите «info.xyz» и оставьте только «ваше приложение».
- Нажмите Рефакторинг .
- Новое диалоговое окно Информация о пакете.xyz не существует. Вы хотите его создать ?. Нажмите Да .
- Нажмите Выполнить рефакторинг .
- Щелкните правой кнопкой мыши новый пакет, чтобы изменить фамилию. Рефакторинг-> Переименовать .
- Переименовать пакет
- введите новое имя и нажмите Выполнить рефакторинг .
- Удалите все старые каталоги пакетов.
- Измените 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 отображает хлебные крошки файла над открытым файлом. На пакете, который вы хотите переименовать: щелкните правой кнопкой мыши> Рефакторинг> Переименовать.
0
Bagesh Sharma
14 Дек 2016 в 07:48
Привет, я нашел самый простой способ сделать это.
- Создайте новый проект с желаемым именем пакета
- скопируйте все файлы из старого проекта в новый (все файлы в old.bad.oldpackage => new.fine.newpackage, res => res)
- скопируйте старый build.graddle в новый build.graddle
- копировать старый манифест внутри нового манифеста
- Сделайте резервную копию или просто удалите старый проект
Выполнено!
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 Маркета
- Запускаем ПО и настраиваем его. Если в этом нет необходимости, пропускаем настройку.
- Экран с предложением подписки тоже пропускаем, так как для изменения названия достаточно бесплатной версии. Если выбрать пробную версию, то через три дня автоматически начнут списываться деньги.
- После этого будет предложено выбрать программный интерфейс. Переключаемся на «Apex Launcher» и выходим из настроек.
- Создаем ярлык приложения путем перетаскивания его на «Рабочий стол», затем долгим нажатием на него вызываем контекстное меню и тапаем «Изменить». Меняем название и жмем «Сохранить».
- Теперь можно скрыть прикладную программу, оставив только переименованный ярлык. Открываем «Настройки» Апекс Лаунчер и переходим в раздел «Скрытые приложения».
- На следующем экране тапаем «Скрыть приложения», в списке выбираем нужное и подтверждаем действие.
- Чтобы потом сделать программное обеспечение видимым, снова открываем «Скрытые приложения» и нажимаем «Восстановить».
- Чтобы отключить лаунчер, в «Настройках» Android находим «Приложения по умолчанию» или «Стандартные приложения», выбираем «Главный экран» и переключаемся на стандартный интерфейс. В этом случае все настройки, сделанные в Апекс Лаунчер, пропадут, но при переходе обратно прикладная программа снова будет скрытой, а ярлык переименованным.
Вариант 2: Shortcut Maker
Простой инструмент для создания ярлыков приложений, а также функций и настроек системы для обеспечения быстрого доступа к ним.
Скачать Shortcut Maker из Google Play Маркета
- Перед созданием ярлыка необходимо добавить виджет приложения на «Рабочий стол», иначе созданный ярлык будет с водяным знаком в виде фирменного логотипа Shortcut Maker. Обычно виджеты на Android-устройствах открываются путем долгого нажатия на пустое место «Рабочего стола». Находим нужный нам и перетаскиваем в любое место.
- Shortcut Maker запустится автоматически сразу после добавления виджета. Открываем раздел «Apps». В списке выбираем нужное ПО.
- Чтобы изменить название, тапаем по текущему имени, меняем его и нажимаем «Done».
- Если нужно поменять иконку, жмем «Shortcut Icon».
- Выбираем источник изображения, например, «Галерея» смартфона, и подгружаем картинку.
- Когда ярлык будет готов, тапаем «Create shortcut» и проверяем результат.
Скрыть саму программу, как это можно было сделать в Apex Launcher, не получится. Есть, конечно, специальное ПО для этого, но не факт, что приложение потом вообще запустится с созданного ярлыка. В данном случае можно просто попробовать спрятать его в папку.
Способ 2: APK Editor
Это уже более сложный и мощный инструмент, предназначенный для просмотра и редактирования APK-файлов. В нем доступны такие операции, как удаление рекламы, изменение фона изображений, макета архитектуры, разрешения и др. Для этого нужны соответствующие навыки, но переименовать прикладную программу с помощью APK Editor сможет каждый. Программное обеспечение уже удалено из Google Play Маркета, но его можно скачать по ссылке ниже.
Скачать APK Editor
- Загружаем установочный файл APK Editor на смартфон, запускаем его и тапаем «Установить».
- Снова жмем «Установить», и когда процесс установки завершится, нажимаем «Открыть», чтобы запустить приложение.
Читайте также: Как установить приложение на Android
- Предоставляем APK Editor доступ к мультимедийным файлам.
- В меню приложения тапаем «Выберите установленный APK».
- В списке выбираем прикладную программу, название которой хотим изменить, и нажимаем «Общее редактирование».
- Вписываем новое название ПО и тапаем «Сохранить».
- Будет создан модифицированный APK-файл, путь к которому указан в центре экрана. С его помощью придется переустановить приложение, чтобы изменения вступили в силу. Тапаем «Установить», а затем подтверждаем действие. Ждем завершения установки. Разработчики заверяют, что данные прикладной программы при этом не пострадают.
- Если установка поверх текущего приложения не удалась, удаляем его.
- Теперь в памяти устройства находим и устанавливаем модифицированный APK-файл.
- Проверяем результат. Приложение будет переименовано.
Еще статьи по данной теме:
Помогла ли Вам статья?
Вопрос:
Мое хранилище ключей повреждено, поэтому 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
на эмуляторе.
Ссылка на сообщение
Обновление
супер легкий способ
щелкните правой кнопкой мыши по вашему проекту…
Ответ №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/…