I would like to know whether it is technically possible, not whether it is easy or not, to change the actual package name of an Android app that is on Google Play. What I mean by package name is the name that will show up in the URL. Please, can anyone tell me why this is / is not possible?
Thanks!
0xCursor
2,2424 gold badges14 silver badges33 bronze badges
asked Jul 10, 2013 at 22:51
user2426316user2426316
6,93120 gold badges51 silver badges82 bronze badges
2
From Dianne Hackborn:
Things That Cannot Change:
The most obvious and visible of these is the “manifest package name,” the unique name you give to your application in its AndroidManifest.xml. The name uses a Java-language-style naming convention, with Internet domain ownership helping to avoid name collisions. For example, since Google owns the domain “google.com”, the manifest package names of all of our applications should start with “com.google.” It’s important for developers to follow this convention in order to avoid conflicts with other developers.
Once you publish your application under its manifest package name, this is the unique identity of the application forever more. Switching to a different name results in an entirely new application, one that can’t be installed as an update to the existing application.
More on things you cannot change here
Regarding your question on the URL from Google Play, the package defined there is linked to the app’s fully qualified package you have in your AndroidManifest.xml file. More on Google Play’s link formats here.
answered Jul 10, 2013 at 23:00
7
Nope, you cannot just change it, you would have to upload a new package as a new app. Have a look at the Google’s app Talk
, its name was changed to Hangouts
, but the package name is still com.google.android.talk
. Because it is not doable Cheers.
answered Jul 10, 2013 at 23:04
LuckyMeLuckyMe
3,7702 gold badges26 silver badges35 bronze badges
2
As far as I can tell what you could do is «retire» your previous app and redirect all users to your new app. This procedure is not supported by Google (tsk… tsk…), but it could be implemented in four steps:
-
Change the current application to show a message to the users about the upgrade and redirect them to the new app listing.
Probably a full screen message would do with some friendly text. This message could be triggered remotely ideally, but a cut-off date can be used too. (But then that will be a hard deadline for you, so be careful… ;)) -
Release the modified old app as an upgrade, maybe with some feature upgrades/bug fixes too, to «sweeten the deal» to the users. Still there is no guarantee that all users will upgrade, but probably the majority will do.
-
Prepare your new app with the updated package name and upload it to the store, then trigger the message in the old app (or just wait until it expires, if that was your choice).
-
Unpublish the old app in Play Store to avoid any new installs. Unpublishing an app doesn’t mean the users who already installed it won’t have access to it anymore, but at least the potential new users won’t find it on the market.
Not ideal and can be annoying to the users, sometimes even impossible to implement due to the status/possibilities of the app. But since Google left us no choice this is the only way to migrate the users of the old apps to a «new» one (even if it is not really new).
Not to mention that if you don’t have access to the sources and code signing details for the old app then all you could do is hoping that he users will notice the new app…
If anybody figured out a better way by all means: please do tell.
answered Dec 12, 2014 at 23:23
racsracs
3,8242 gold badges23 silver badges26 bronze badges
3
No, you cannot change package name unless you’re okay with publishing it as a new app in Play Store:
Once you publish your application under its manifest package name, this is the unique identity of the application forever more. Switching to a different name results in an entirely new application, one that can’t be installed as an update to the existing application.
Android manual confirms it as well here:
Caution: Once you publish your application, you cannot change the package name. The package name defines your application’s identity, so if you change it, then it is considered to be a different application and users of the previous version cannot update to the new version.
If you’re okay with publishing new version of your app as a completely new entity, you can do it of course — just remove old app from Play Store (if you want) and publish new one, with different package name.
answered Jan 4, 2017 at 21:19
If you are referring to com.example.app, no I understand you can’t it would be considered a new app
answered Jul 10, 2013 at 22:56
ah008aah008a
1,0706 silver badges11 bronze badges
Never, you can’t do it since package name is the unique name Identifier for your app…..
answered Jul 23, 2017 at 13:45
ShubhamhackzShubhamhackz
6,8956 gold badges50 silver badges69 bronze badges
Complete guide :
https://developer.android.com/studio/build/application-id.html
As per Android official Blogs :
https://android-developers.googleblog.com/2011/06/things-that-cannot-change.html
We can say that:
-
If the manifest package name has changed, the new application will be
installed alongside the old application, so they both co-exist on the
user’s device at the same time. -
If the signing certificate changes, trying to install the new
application on to the device will fail until the old version is
uninstalled.
As per Google App Update check list :
https://support.google.com/googleplay/android-developer/answer/113476?hl=en
Update your apps
Prepare your APK
When you’re ready to make changes to your APK, make sure to update your app’s version code as well so that existing users will receive your update.
Use the following checklist to make sure your new APK is ready to update your existing users:
- The package name of the updated APK needs to be the same as the current version.
- The version code needs to be greater than that current version. Learn more about versioning your applications.
- The updated APK needs to be signed with the same signature as the current version.
To verify that your APK is using the same certification as the previous version, you can run the following command on both APKs and compare the results:
$ jarsigner -verify -verbose -certs my_application.apk
If the results are identical, you’re using the same key and are ready to continue. If the results are different, you will need to re-sign the APK with the correct key.
Learn more about signing your applications
Upload your APK
Once your APK is ready, you can create a new release.
answered Jan 23, 2018 at 6:31
VinayakVinayak
5,9661 gold badge31 silver badges30 bronze badges
I would like to know whether it is technically possible, not whether it is easy or not, to change the actual package name of an Android app that is on Google Play. What I mean by package name is the name that will show up in the URL. Please, can anyone tell me why this is / is not possible?
Thanks!
0xCursor
2,2424 gold badges14 silver badges33 bronze badges
asked Jul 10, 2013 at 22:51
user2426316user2426316
6,93120 gold badges51 silver badges82 bronze badges
2
From Dianne Hackborn:
Things That Cannot Change:
The most obvious and visible of these is the “manifest package name,” the unique name you give to your application in its AndroidManifest.xml. The name uses a Java-language-style naming convention, with Internet domain ownership helping to avoid name collisions. For example, since Google owns the domain “google.com”, the manifest package names of all of our applications should start with “com.google.” It’s important for developers to follow this convention in order to avoid conflicts with other developers.
Once you publish your application under its manifest package name, this is the unique identity of the application forever more. Switching to a different name results in an entirely new application, one that can’t be installed as an update to the existing application.
More on things you cannot change here
Regarding your question on the URL from Google Play, the package defined there is linked to the app’s fully qualified package you have in your AndroidManifest.xml file. More on Google Play’s link formats here.
answered Jul 10, 2013 at 23:00
7
Nope, you cannot just change it, you would have to upload a new package as a new app. Have a look at the Google’s app Talk
, its name was changed to Hangouts
, but the package name is still com.google.android.talk
. Because it is not doable Cheers.
answered Jul 10, 2013 at 23:04
LuckyMeLuckyMe
3,7702 gold badges26 silver badges35 bronze badges
2
As far as I can tell what you could do is «retire» your previous app and redirect all users to your new app. This procedure is not supported by Google (tsk… tsk…), but it could be implemented in four steps:
-
Change the current application to show a message to the users about the upgrade and redirect them to the new app listing.
Probably a full screen message would do with some friendly text. This message could be triggered remotely ideally, but a cut-off date can be used too. (But then that will be a hard deadline for you, so be careful… ;)) -
Release the modified old app as an upgrade, maybe with some feature upgrades/bug fixes too, to «sweeten the deal» to the users. Still there is no guarantee that all users will upgrade, but probably the majority will do.
-
Prepare your new app with the updated package name and upload it to the store, then trigger the message in the old app (or just wait until it expires, if that was your choice).
-
Unpublish the old app in Play Store to avoid any new installs. Unpublishing an app doesn’t mean the users who already installed it won’t have access to it anymore, but at least the potential new users won’t find it on the market.
Not ideal and can be annoying to the users, sometimes even impossible to implement due to the status/possibilities of the app. But since Google left us no choice this is the only way to migrate the users of the old apps to a «new» one (even if it is not really new).
Not to mention that if you don’t have access to the sources and code signing details for the old app then all you could do is hoping that he users will notice the new app…
If anybody figured out a better way by all means: please do tell.
answered Dec 12, 2014 at 23:23
racsracs
3,8242 gold badges23 silver badges26 bronze badges
3
No, you cannot change package name unless you’re okay with publishing it as a new app in Play Store:
Once you publish your application under its manifest package name, this is the unique identity of the application forever more. Switching to a different name results in an entirely new application, one that can’t be installed as an update to the existing application.
Android manual confirms it as well here:
Caution: Once you publish your application, you cannot change the package name. The package name defines your application’s identity, so if you change it, then it is considered to be a different application and users of the previous version cannot update to the new version.
If you’re okay with publishing new version of your app as a completely new entity, you can do it of course — just remove old app from Play Store (if you want) and publish new one, with different package name.
answered Jan 4, 2017 at 21:19
If you are referring to com.example.app, no I understand you can’t it would be considered a new app
answered Jul 10, 2013 at 22:56
ah008aah008a
1,0706 silver badges11 bronze badges
Never, you can’t do it since package name is the unique name Identifier for your app…..
answered Jul 23, 2017 at 13:45
ShubhamhackzShubhamhackz
6,8956 gold badges50 silver badges69 bronze badges
Complete guide :
https://developer.android.com/studio/build/application-id.html
As per Android official Blogs :
https://android-developers.googleblog.com/2011/06/things-that-cannot-change.html
We can say that:
-
If the manifest package name has changed, the new application will be
installed alongside the old application, so they both co-exist on the
user’s device at the same time. -
If the signing certificate changes, trying to install the new
application on to the device will fail until the old version is
uninstalled.
As per Google App Update check list :
https://support.google.com/googleplay/android-developer/answer/113476?hl=en
Update your apps
Prepare your APK
When you’re ready to make changes to your APK, make sure to update your app’s version code as well so that existing users will receive your update.
Use the following checklist to make sure your new APK is ready to update your existing users:
- The package name of the updated APK needs to be the same as the current version.
- The version code needs to be greater than that current version. Learn more about versioning your applications.
- The updated APK needs to be signed with the same signature as the current version.
To verify that your APK is using the same certification as the previous version, you can run the following command on both APKs and compare the results:
$ jarsigner -verify -verbose -certs my_application.apk
If the results are identical, you’re using the same key and are ready to continue. If the results are different, you will need to re-sign the APK with the correct key.
Learn more about signing your applications
Upload your APK
Once your APK is ready, you can create a new release.
answered Jan 23, 2018 at 6:31
VinayakVinayak
5,9661 gold badge31 silver badges30 bronze badges
Название пакета приложения для Android. однозначно идентифицирует ваше приложение на устройстве, в магазине Google Play и в поддерживаемых сторонних магазинах Android.
Как изменить название пакета в Play Store?
Руководство Android также подтверждает это здесь: Внимание: один раз вы публикуете свое приложение, вы не можете изменить имя пакета. Имя пакета определяет идентификатор вашего приложения, поэтому, если вы его измените, оно будет считаться другим приложением, и пользователи предыдущей версии не смогут выполнить обновление до новой версии.
Как мне переименовать пакет?
** Способ 01 **
- Щелкните его правой кнопкой мыши.
- Выберите Refactor.
- Щелкните Переименовать.
- Во всплывающем диалоговом окне нажмите «Переименовать пакет» вместо «Переименовать каталог».
- Введите новое имя и нажмите Refactor.
- Нажмите «Выполнить рефакторинг» внизу.
- Подождите минуту, чтобы Android Studio обновила все изменения.
Могу ли я изменить название пакета Android?
Выделите каждую часть имени пакета, которую вы хотите изменить (не выделяйте все имя пакета), затем: Щелкните правой кнопкой мыши → Рефакторинг → Переименовать → Переименовать пакет. введите новое имя и нажмите (Рефакторинг)
Что должно быть уникальным для каждого APK?
У каждого APK должен быть другой код версии, указанный в атрибуте android: versionCode. Каждый APK не должно точно соответствовать поддержке конфигурации другого APK. То есть в каждом APK должна быть заявлена немного отличающаяся поддержка хотя бы одного из поддерживаемых фильтров Google Play (перечисленных выше).
Какое у вас название пакета?
У всех приложений Android есть имя пакета. Название пакета однозначно идентифицирует приложение на устройстве; он также уникален в магазине Google Play.
Что такое пакеты в Android?
Пакет по сути каталог (папка), которому принадлежит исходный код. Обычно это структура каталогов, которая однозначно идентифицирует ваше приложение; например com. пример. приложение . Затем вы можете создавать пакеты в своем пакете приложения, которые разделяют ваш код; например com.
Как мне узнать название моего пакета?
Метод 1 — из Play Store
- Откройте play.google.com в своем браузере.
- Используйте панель поиска, чтобы найти приложение, для которого вам нужно название пакета.
- Откройте страницу приложения и посмотрите URL-адрес. Имя пакета образует конечную часть URL-адреса, то есть после id = ?. Скопируйте его и используйте по мере необходимости.
Можем ли мы изменить идентификатор приложения для Android?
Каждый Android приложений имеет уникальный ID приложения который выглядит как имя пакета Java, например com. пример. … Ты можешь измениться имя пакета вашего кода (пространство имен кода) и будем не влиять идентификатор приложения, и наоборот. Вы можете или изменить идентификатор приложения посредством рефакторинга переименования или во время сборки.
Какое имя пакета у JSON?
JSON 4) орг. json.
Могу ли я изменить имя пакета в firebase?
Чтобы отредактировать любое из названий вашего проекта: Щелкните рядом с названием либо для имени проекта, либо для общедоступного имени. Введите новое имя. Щелкните Сохранить.
Содержание
- Способ 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/…
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Функция углового щелчка Yeoman не активируется
- 1Совместное использование Android NDK Lib
- 12-полосный слайдер для Android
- 1Раскрась карту Google, Android
- 0Добавление div в определенных областях в неупорядоченном списке
- 0получение выбранного значения для списка выбора в угловом виде из $ firebaseArray ()
- 0Лучший вариант? Действия запроса MySQL
- 0Как отключить jQuery Datepicker из MySQL значение / содержание
- 1Как перерисовать элемент таблицы SWT с помощью GC или перерисовать другие элементы таблицы?
- 0Нужен предварительный поиск в phonegap + jQuery?
- 1RecyclerView фильтр поиска получает неправильную позицию
- 1C # Использование интерфейса для доступа к методам
- 1Раскрывающийся список, созданный кодом для обновления страницы
- 0Возникли проблемы с if и while ((row = mysql_fetch_row (query_results))! = 0)
- 1Получите информацию о файле почтового индекса — не от его содержания
- 1Установить classpath навсегда в Linux
- 0Пользовательская директива AngularJS, основанная на выражении класса
- 1Как установить таймаут на мыльный вызов с помощью ksoap2-android?
- 1установка границ или экстентов составленных графиков в HoloViews
- 1Android и область использования
- 1Как конвертировать байты консоли в строку в python3?
- 0Использование jQuery, чтобы скрыть раскрывающийся список, но он не работает
- 0Анимация командной строки в HTML
- 0подтвердить нажатием клавиши ввода
- 1Android: Как полностью закрыть Программу?
- 0Версия msvcrXX.dll, с которой компилируется мой интерпретатор Python
- 1Adobe Acrobat API в Python
- 1Какие методы вызываются, только если я нажимаю кнопку «Домой»?
- 0суб-контент с полным URL?
- 0MySQL 5.7.20 — SELECT FOUND_ROWS () возвращает неверный результат
- 0Как искать $ invalid или $ error.required, $ error.pattern, используя простую HTML-форму и директиву?
- 0Как использовать плагин Acrobat из приложения C ++ с InterAppCommunication
- 0Разница между объектом параметров AngularJS UI Router, указанным в состоянии и представлениях
- 0использование значения в поле выбора в качестве входа для сохранения в таблицу sql
- 1Как обновить View в ответ на LocationListener.onLocationChanged ()?
- 0Чтение буфера C / C ++
- 0-webkit-анимация / ключевые кадры не воспроизводятся красиво с -webkit-filter blur
- 0Разделить таблицу Mysql на столбец даты и сохранить результат в разных таблицах с динамическим именем
- 1Ember.js 2, transitionTo, используя несколько динамических сегментов на маршруте первого уровня
- 0ОШИБКА 2006 mysql
- 0Angular.js, добавить строку к имени переменной?
- 1Как получить доступ к PrintSettings из C # с помощью GeckoFX
- 0Управление ответом от Сервера перед передачей в Jquery Datatable
- 1Включите цикл
- 0Как заполнить Div на основе JavaScript <script>?
- 0Как вызвать функцию на странице Загрузка
- 0jQuery изменить изображение на клик по ссылке
- 1Столкновения между прямоугольниками
- 0Добавить флаг заголовка в YiiMailer
- 1Невозможно отобразить несколько графиков с помощью chart.js.
Как переименовывать пакеты в новой IDE Android Studio на основе intelijj ?
включен ли автоматический рефакторинг?
Я хочу сделать массовый рефакторинг, но я не знаю, как. Я работал 2 года с eclipse, и в eclipse это операция одного клика.
30 ответов
в Android Studio, вы можете сделать это:
например, если вы хотите изменить com.example.app
до my.awesome.game
, тогда:
-
в своем панели проект, нажмите на маленький значок шестеренки (
)
-
снимите / снимите флажок
Compact Empty Middle Packages
опции
-
ваш каталог пакетов теперь будет разбит на отдельные каталоги
-
индивидуально выберите каждый каталог, который вы хотите переименовать, и:
- щелкните правой кнопкой мыши
- выберите
Refactor
- нажать на кнопку
Rename
- в появившемся окне нажмите на кнопку
Rename Package
вместо переименования каталога - введите новое имя и нажмите рефакторинг
- клик Сделать Рефакторинг в самом низу
- разрешить одну минуту, чтобы Android Studio обновить все изменения
-
Примечание: при переименовании
com
в Android Studio это может дать предупреждение. В таком случае выберите Переименовать Все
- теперь откройте Gradle В Файл Build (
build.gradle
— обычноapp
илиmobile
). ОбновитеapplicationId
наdefaultConfig
для вашего нового имени пакета и синхронизации Gradle, если он еще не был обновляется автоматически:
-
возможно, Вам придется изменить
package=
атрибут в манифесте. -
очистить и перестроить.
-
готово! в любом случае, Android Studio должна сделать этот процесс немного проще.
еще один хороший метод: сначала создайте новый пакет с нужным именем, щелкнув правой кнопкой мыши по папке java — > new — > package.
выберите и перетащите все ваши классы в новый пакет. AndroidStudio рефакторинга имя пакета везде.
наконец, удалите старый пакет.
сделано.
еще одна очень важная вещь
вы должны изменить вручную AndroidManifest.в XML и построить.Gradle в в новый пакет, если вы используете этот метод.
изменение идентификатор приложения (который теперь не зависит от имени пакета) можно сделать очень легко за один шаг.
Вам не нужно прикасаться к AndroidManifest.
Вместо этого сделайте следующее:
- щелкните правой кнопкой мыши на корневую папку вашего проекта.
- Нажмите «Открыть Настройку Модуля».
- перейдите на вкладку кухни.
- измените applicationID на любое имя пакета, которое вы хотите. Нажмите OK.
Примечание не изменить имя пакета. Здесь объясняется развязка имени пакета и идентификатора приложения:
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
подход, используемый мной для переименования имени пакета, прост: —
Шаг 1
: Выберите опцию проекта из левого меню Android Studio
Шаг 2
: Щелкните правой кнопкой мыши на java и добавьте новый пакет и установите желаемое имя пакета
Шаг 3
: Введите новый packagename
Шаг 4
: Скопируйте все файлы из старого пакета и вставьте в новый пакет
Шаг 5
: Переименуйте имя пакета в файле манифеста
Шаг 6
: Переименуйте имя пакета в build.файл gradle
шаг 7
:Затем щелкните правой кнопкой мыши старый пакет и удалите его со всеми его данными, а также удалите этот каталог
Шаг 8
:Тогда перестройте свой проект
Шаг 9
:Тогда вы найдете некоторые ошибки старого import packagename в вашем проекте
выберите старое имя пакета в любом файле и нажмите CTRL + Shift + R и введите вы новое имя пакета в поле заменить, затем нажмите find
Шаг 10
:Затем появится всплывающее окно, как показано ниже, и выберите Все файлы из него
Шаг 11
: Перестройте свой проект снова, bingo ваше имя пакета проекта было изменено
щелкните правой кнопкой мыши на пакете в Панель Проекта.
выбрать «рефакторинг» — > «переименовать» из контекстного меню.
38
автор: GreyBeardedGeek
- Гото ваш AndroidManifest.XML.
- поместите курсор в имя пакета, как показано ниже, не выбирайте его, просто поместите его.
- нажмите клавишу
shift+F6
вы получите всплывающее окно, как показано ниже, выберите
переименовать пакет.
- введите новое имя и выберите рефакторинг.
(Примечание с момента моего курсора на «что-то» только что-то переименовали.)
вот и все.
29
автор: Prince Jayakumar
(1)
открыть файл:
app > > манифесты > > AndroidManifest.в XML
выделите каждую часть в имени пакета, которое вы хотите изменить (не выделяйте имя всего пакета), затем:
- правая кнопка мыши >> рефакторинг >> переименовать >> переименовать пакет
- введите новое имя и нажмите (рефакторинг)
выполните эти шаги в каждой части пакета имя
(2)
открыть (скрипт Gradle) > > (build.gradle (модуль:app))
обновить applicationId к вашему имени пакета
(3)
откройте меню (build) и выберите (Rebuild Project)
выберите пакет будет рефакторинг, рефакторинг->перемещение ->»переместить XXX на новый пакет»
Я видел лучшие проголосовали ответы, но я нашел немного отличается, чтобы сделать это, я пытаюсь сделать наиболее полный учебник.
из Android Studio нажмите на значок шестеренки ( ), а затем выберите вариант:
"Compact Empty Middle Packages"
, чтобы увидеть папки, разделенные в виде дерева.
Теперь выберите папку, нажмите правую кнопку, чтобы открыть контекстное меню, выберите Refactor
и затем Rename
вы будете уведомлены, чтобы рефакторинг пакет:
затем окно покажет совпадения внутри proyect, выберите "Do Refactor"
:
нам не нужно вручную изменять AndroidManifest.xml или сборка.gradle файлы, рефакторинг пакета будет делать Иов!.
если ваше имя пакета больше, чем две точки разделены, скажите com.hello.world
и более того, вы ничего не положили в com/
и com/hello/
. Все ваши классы вкладываются в com/hello/world/
, вы можете сделать следующие шаги для рефакторинга вашего имени (ов) пакета в Android Studio или IntelliJ:
-
[первая] добавьте что-нибудь в свои каталоги (
com/
,com/hello/
). Вы можете
для этого сначала добавьте два файла в пакет com.привет.мир, скажи
com.hello.world.PackageInfo1.java com.hello.world.PackageInfo2.java
затем оптимизировать их, переместив их в COM и COM.привет соответственно.
Вы увидите com и com.привет, сидя там в проекте (Alt+1
или Command+1
для ярлыка) и переименование каталогов рефакторинг
ждал там, как и ожидал.
-
рефакторинг, чтобы переименовать один или несколько из этих каталогов для достижения вашей цели. Единственное, что вы должны заметить здесь, вы должны выбрать каталоги, а не Пакеты, когда диалоговое окно спросит вас.
-
если у вас есть много классов в вашем проекте, вам потребуется некоторое время, чтобы дождаться его автоматического сканирования и переименования.
-
кроме того, вам нужно переименовать имя пакета внутри AndroidManifest.xml вручную, я думаю, так, что другие имена в этом файле могут воспользоваться префиксом.
-
[также], возможно, Вам понадобится заменить все
com.hello.world.R
новыйXXX.XXX.XXX.R
(Command+Shift+R
для краткости) -
перестроить и запустить проект, чтобы увидеть, работает ли он. И используйте «найти в пути», чтобы найти другие имена, которые вы хотите переименовать.
- понравится.
обновленный ответ: май 2015 года
OK я боролся с клонированием и переименованием проектов в Android Studio, но, наконец, я достиг этого. Вот шаги, чтобы следовать:
- скопируйте папку проекта, переименуйте ее и откройте с помощью Android Studio
- переименовать каталог модулей из проводника
- переименовать имя проекта.iml и содержание
- переименовать idea/.имя контента
- в панели проекта нажмите на маленький значок шестеренки — > снимите флажок «компактный пустой средний пакет»
- каталоги src рефакторинга для нового имени пакета (переименовать пакет, «не переименовывать каталог»)
- в build.gradle переименовать идентификатор приложения
- настройки.gradle переименовать модуль
Я попробовал два лучших решения, но нашел некоторые проблемы, хотя оба работают в некоторой степени.
- элемент списка: новый метод Package-drag-drop оставляет некоторые неизменными и создает некоторые нежелательные эффекты
- элемент списка: переименовать пакет изменяет только последнюю часть имени пакета
после некоторых экспериментов я обнаружил, что следующий метод хорошо работает для меня.
Если вам просто нужно изменить последнюю часть имени пакета, используйте метод, описанный GreyBeardedGeek, а именно
щелкните правой кнопкой мыши пакет на панели проект. Выбрать «рефакторинг» — > «переименовать» из контекстного меню
Если вам нужно изменить имя всего пакета, сделайте следующее.
щелкните правой кнопкой мыши пакет на панели проект. Выберите рефакторинг — > переместить из контекстного меню
Это создаст новую папку пакета (при необходимости), но сохранит последнюю часть вашего имени пакета, как и раньше. Если вам нужно чтобы изменить последнюю часть, выполните соответствующее переименование.
обратите внимание также, что вам может потребоваться изменить имена пакетов, например, в build.gradle, manifest и / или любые файлы ресурсов xml или даже в вашем коде, если они жестко закодированы. После всего этого выполните синхронизацию/очистку / перестроение проекта по мере необходимости.
4
автор: ssgg Google Developer Platform
пожалуйста, попробуйте следующее:
- нажмите на значок Настройки передач и снимите флажок компактный пустой средний пакет
- Теперь мы можем видеть, что каждая папка пакета разбита на части
- Теперь щелкните правой кнопкой мыши на первой папке пакета > > > рефакторинг > > > переименовать
- Теперь будет отображаться предупреждение, но вы идете вперед и нажмите переименовать
Пакет - после этого введите свое доменное имя для имени пакета
- нажмите » сделать Рефактор’
- Теперь он изменил доменное имя пакета приложения. Теперь измените
расширение домена и имя папки приложения в соответствии с вашим требованием - Теперь откройте сборку.gradle (модуль: app) в скриптах Gradle. Здесь изменить
идентификатор приложения и нажмите кнопку Синхронизировать.
*******наконец-то все кончено.******
Это я считаю, что вы ищете рефакторинг > переместить. Вы также можете нажать F6.
вы получите два окна. Убедитесь,что вы выбрали переименовать пакет на обоих. После этого вы получите всплывающее новое название пакета.
обратите внимание, что если ваше имя пакета, например, com.образец.андроид.projectname тогда это позволит вам изменить com.образец.android для чего-то другого.
еще одна вещь, это обновит applicationId в вашем строить.Gradle в качестве хорошо. Просто убедитесь, что флажки «поиск в комментариях и строках» и «поиск текстовых вхождений» оба проверены на его работу.
общая ошибка, которую можно сделать, это
нельзя переименовать структуру пакета i.e
невозможно изменить com.имя.android для com.Переименованный.android, когда один пытается изменить в com.имя.уровень android.
для того, чтобы иметь то же самое желаемое изменение, перейдите на один уровень выше i.E com.имя и здесь, когда вы рефакторинг измените его на переименованный. Это будет работать всегда
щелкните правой кнопкой мыши на package -> refactor и измените имя.
Вы также можете изменить его в манифесте.
Иногда, если вы меняете имя пакета, но после создания apk он показывает другое имя пакета в то время, проверьте «applicationId» в сборке.файл gradle.
3
автор: rajlaxmi_jagdale
Я нашел другой способ, который работает или дополнительный шаг к некоторым ответам здесь, особенно если вы хотите изменить домен. Работает в Android studio 1.4. Вот что я сделал:—1—>
- Открыть Манифест.xml и измените имя пакета на то, что вы хотите.
- открыть ваше приложение.gradle файл и изменить идентификатор приложения в defaultConfig на то же имя, как в манифесте и перестроить проект.
- если все еще проблема, откройте файл под именем пакета, перейти к упаковке панировочных сухарей(i.e объявление пакета в голове файла) и установите курсор на домен, который вы хотите изменить, и нажмите «Shift + F6», он выйдет с диалогом с предупреждениями о многократном использовании, нажмите «переименовать пакеты» , а затем нажмите «сделать рефакторинг», он должен переименовать все, включая R.Java файлы.
Так, например, если вы хотите переименовать «ком.образец.app » to » com.Имя_домена.app», откройте файл под переименовываемым пакетом, в сухарях пакета, установите курсор на «пример» части домена и нажмите Shift +F6 и переименуйте пакет в «YourDomain».
надеюсь, что это помогает
Я нашел более простое решение этой проблемы, которое также изменило сгенерированный импорт, как com.test.testpackagechange.R
и занимает всего около минуты.
ваш первый шаг-открыть Android Studio и открыть окно заменить все (Mac: cmd + shift + R, Windows, я предполагаю: ctrl + shift + R). Введите старое имя пакета и имя, указанное под новым именем пакета. Нажмите Кнопку Найти. Это может занять некоторое время, потому что он также просматривает сгенерированные элементы. Если он имеет более 1000 хитов, просто нажмите продолжать.
после того, как вы сделали это, нажмите заменить все, чтобы заменить старое имя пакета на новое.
теперь закройте Android Studio и перейдите в Finder на Mac или Windows Explorer на Windows. Измените имя папок на новое имя пакета, например:
теперь снова откройте Android Studio. Gradle синхронизирует и ваш пакет имя должно быть изменено на новое.
Я нашел, что это самый простой и тот, который охватывает все сферы, как созданные файлы.
3
автор: Kevin van Mierlo
первая часть состоит из создания нового пакета в папке «java» и выбора, а затем перетаскивания всех исходных файлов из старого пакета в этот новый пакет. После этого вам нужно изменить имя пакета в манифесте android на имя нового пакета.
на Шаге 2, Вот что вам нужно сделать.Вам нужно изменить старое имя пакета в » applicationId «под модулем» build.gradle » в вашей Android studio в дополнение к изменению имени пакета в манифесте. Итак, вкратце, нажмите » build.gradle», который находится ниже » AndroidManifest.xml «и измените значение «applicationId» на новое имя пакета.
затем, на самом верху, в разделе «build». очистите свой проект, затем перестройте. Отсюда все будет хорошо.
пакеты служат двум целям. Один из них-уникальная идентификация вашего приложения в Google Play Store. Другой-назвать пакет для R.java класс, который создается при построении проекта. Вы можете думать о первой цели как о внешнем пакете, а о второй-как о внутреннем пакете. Предполагая, что вы хотите изменить внешний пакет, чтобы вы могли идентифицировать его в Play store, есть удобный способ сделать это.
в Android Studio выберите Файл > структура проекта > Выберите модуль приложения > перейдите на вкладку вкусы > измените идентификатор приложения. Теперь, когда вы создаете свой проект, Ваш APK и манифест будут использовать это новое имя пакета.
лучший способ написать новое имя пакета и перетащить из старого имени пакета.
Во-вторых, если вы нажмете рефакторинг, затем переместите опцию, затем переименуете имя пакета, он переименует имя пакета, а затем перестроит.
В Build.gradle вы должны сделать вручную, Если U рефакторинг, то он не будет переименовываться в сборке.градля.
обязательно вернитесь к ответу Шехарьяра, который начинается In Android Studio, you can do this:
потому что это здорово. Есть так много ответов и комментариев, которые следуют за ним, что было бы легко запутаться и сдаться, но не делайте этого. Этот ответ работает.
короче говоря, вы делаете три вещи:
снимите Compact Empty Middle Packages
.
Refactor
Rename
каждый старый узел каталога, выбрав изменить пакета (не каталог), чтобы соответствовать новому имени пакета. (Обязательно для предварительного просмотра изменений.)
редактировать build.gradle
файл и сделать APPLICATION_ID
соответствует новому имени пакета.
дополнительный ответ после 3 лет, конечно, если все предыдущие не работает для вас, потому что «что-то».
- перейти к пути проекта>где вы нашли java-файлы и пакет
- создание новых папок, например com>super_package>activities
- Android Studio обновит структуру проекта
- переместить все файлы Java в новые папки
- удалить старые папки
- правка>найти>заменить в path:
- изменить старый пакет имя нового
- изменить также в манифесте и построить gradle
готово!
- выберите имя пакета в папке Java.
- Shift+F6
- измените имя пакета и нажмите OK.
ваше имя пакета будет изменено из всех файлов java и файла манифеста. Вы должны вручную изменить имя пакета из сборки.Gradle в
ctrl+shift+R всегда работал для меня.
Просто замените все и выберите Все файлы.
Я рекомендую использовать Sublime Text (или Notepad++). Заменить com.один.фамилия -> ком.два.новое имя и com/one/lastname -> com/two / newname in …Проекты [Мой Проект]. и не забудьте переименовать …Проектыmyproject будетприложенияНИЦглавнаяЯвасомодин «фамилия»…ПроектыMyProjectappsrctestjavacomonelastname and …Проектыmyproject будетприложенияНИЦandroidTestЯвасомодин «фамилия»!
Все это
1
автор: Ярослав Нестеров
Это работает очень хорошо для меня, даже для изменения вхождений во всех соответствующих модулях, для имен папок, которые я хочу изменить в пакете, но для меня это работает отлично только Если я буду следовать точно следующим шагам:
- A-если вы хотите изменить имя корневой папки (другими словами, имя папки, которое обычно используется в пакете для содержания основного действия), вы можете это сделать до или после следующие шаги (B-C), выйдя из «Android Studio» и переименуйте вручную эту корневую папку. Нажмите после » импортировать проект…»а затем на новое имя вашего проекта (этот процесс импорта автоматически перенастраивает файлы «Gradle» с файлами проекта.)
- B —до следующий шаг C, не забудьте вручную изменить имена папок, которые вы хотите изменить в пакете, изменив их в 3 следующих файлах: ‘AndroidManifest.формате XML’, ‘В MainActivity.java «(или имя, которое вы в конечном итоге выбираете для своего первого действия) и » сборка.gradle (Module: app)’ файл.
- C — выполните шаги с 1 по 6, описанные выше («на панели проекта нажмите на значок маленькой шестерни…») -> https://stackoverflow.com/a/29092698/2001610
- D-только если вы хотите изменить имя корневой папки сейчас, вы можете следовать процессу «A», как описано выше.
после выполнения одного из этих методов, чтобы переименовать пакет, вы можете начать видеть ошибки.
если / когда ваш R.java не генерируется должным образом, вы получите много ошибок в своем проекте, говоря error: cannot find symbol class R
и error: package R does not exist
.
Не забудьте проверить XML манифеста приложения. Имя пакета манифеста должно соответствовать имя самого пакета. Кажется, R.java создается из манифеста приложения и может вызвать эти ошибки если есть несоответствие.
не забудьте проверить package
атрибут соответствует в вашем <manifest package="com.yourcompany.coolapp">
быстрый и простой способ:
1 — открыть MainActivity.java
или любой доступный файл Java.
в верхней части есть объявление пакета, такие как:
пакета com.
example
.приложение myapp;
выберите часть пакета, которую вы хотите изменить, и нажмите Shift+F6. Я лично хочу изменить example
.
в диалоговом окне предупреждения выберите переименовать пакет и после этого введите пожеланный пакет имя.
2 — открытые AndroidManifest.xml
и внутри <manifest>
тег изменить package
до нужного имени пакета.
3 — открытые build.gradle(Module: app)
, и applicationId
до нужного имени пакета.