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

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 th...

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's user avatar

0xCursor

2,2424 gold badges14 silver badges33 bronze badges

asked Jul 10, 2013 at 22:51

user2426316's user avatar

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.

Community's user avatar

answered Jul 10, 2013 at 23:00

Voicu's user avatar

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

LuckyMe's user avatar

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:

  1. 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… ;))

  2. 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.

  3. 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).

  4. 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.

Marcin Koziński's user avatar

answered Dec 12, 2014 at 23:23

racs's user avatar

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

Rahul Sethi's user avatar

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

ah008a's user avatar

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

Shubhamhackz's user avatar

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

Vinayak's user avatar

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's user avatar

0xCursor

2,2424 gold badges14 silver badges33 bronze badges

asked Jul 10, 2013 at 22:51

user2426316's user avatar

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.

Community's user avatar

answered Jul 10, 2013 at 23:00

Voicu's user avatar

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

LuckyMe's user avatar

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:

  1. 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… ;))

  2. 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.

  3. 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).

  4. 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.

Marcin Koziński's user avatar

answered Dec 12, 2014 at 23:23

racs's user avatar

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

Rahul Sethi's user avatar

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

ah008a's user avatar

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

Shubhamhackz's user avatar

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

Vinayak's user avatar

VinayakVinayak

5,9661 gold badge31 silver badges30 bronze badges

18 ответов

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

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

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

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

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

Поделиться

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

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

Поделиться

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

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

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

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

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

Поделиться

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

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

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

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

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

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

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

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

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

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

Поделиться

Без Eclipse:

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

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

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

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

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

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

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

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

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

Поделиться

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

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

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

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

Поделиться

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

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

DONE

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

Поделиться

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

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

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

Поделиться

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

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

Поделиться

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

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

Поделиться

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

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

Поделиться

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

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

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

Поделиться

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

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

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

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

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

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

Поделиться

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

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

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

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

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

Поделиться

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

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

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

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

Поделиться

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

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

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

Поделиться

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

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

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

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

Поделиться

Ещё вопросы

  • 1Как запустить smsSenderactivty в Broadcast Receiver?
  • 1Схема URL-адреса Bing Map для Windows Phone 8.1
  • 0Создание RSS для любого сайта на PHP (аналогично Feedity или Feed43)
  • 1Время, прошедшее с момента отключения питания от сети
  • 1ProgressDialog не появляется, пока не стало слишком поздно
  • 0делая эти два div рядом друг с другом
  • 0Запретить <label> </ label> изменять размеры
  • 1Bubble sort на 2D Array Java
  • 1привязка данных не работает в простом приложении Knockoutjs
  • 0Есть проблема с моим векторным объявлением / зацикливанием / чем-то, но я не уверен, что это
  • 0Добавить Telerik Grid Control на HTML-странице
  • 0Подсчет записей в MySQL с помощью сложного оператора HAVING
  • 0Регулярное выражение для поиска в html
  • 0используя функцию localtime для получения локального времени пользователя в php
  • 1Невозможно запустить мое приложение Spring на tcServer из SpringTools
  • 1Проблема с циклом for при повторении последних 5 объектов в обратном порядке
  • 0Как я могу сказать mysql строку подключения через часовой пояс?
  • 0(c ++) Чтение числовых данных в столбце из текстового файла и определение наибольшего значения
  • 0Как изменить данные в связанном списке c ++ 3
  • 1Запрос $ ресурса и GridFS
  • 0Поиск с учетом регистра в SQL не работает
  • 1Недопустимое имя переменной Statsmodels (Patsy) / объект ‘Series’ не вызывается Ошибка
  • 1WebdriverIO: Как правильно выполнить итерацию по трем элементам и выйти из getText?
  • 1Не подключается к веб-странице на Android
  • 0SQL-запрос для получения идентификатора YouTube из встроенного кода
  • 0JavaScript не инициализируется в блоке Drupal
  • 0Лучший способ защитить функцию обратного вызова от деконструированных классов
  • 1@classmethod для перегрузки конструктора
  • 0динамический объект массива json
  • 1регистрация пользователя
  • 0Какой надежный способ обработки и отправки ошибок в NewRelic с помощью Slim PHP Framework?
  • 0Изображения элементов списка повторяются в HTML
  • 0частота обновления для уникального идентификатора продукта каждым пользователем
  • 0Ошибка угловой авторизации (?)
  • 1Dojo themePreviewer застрял «Загрузка…»
  • 0Получение количества массивов внутри объекта
  • 1Исключение Firebase с длинными строками на Android
  • 0Странная задержка при выполнении glTexImage2D с vsync на
  • 1Модификация XML из разных задач одновременно
  • 0AngularJS: $ modal, передавая переменную $ scope дочернему контроллеру
  • 0Liquibase — добавить defaultValueComputed как CURRENT_TIMESTAMP в столбец отметки времени
  • 0Изменение массива зависит от установленного / снятого флажка
  • 1Android — java.lang.VerifyError
  • 1Не могу хорошо маршрутизации в MVC3 ASP.NET c #
  • 1недопустимые символы в пути при десериализации xml?
  • 0Flexslider ссылки не открываются
  • 0PyMySQL, MySQL, Python: форматирование строк
  • 1У объекта AttributeError «NoneType» нет атрибута «upload_from_filename»
  • 1Ошибка протокола в потоке TDS — ошибка
  • 1C # gpresult / r эквивалент

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

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

18 ответов

Лучший ответ

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

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

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


51

Community
23 Май 2017 в 14:55

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

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

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

enter image description here

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

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

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

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

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

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

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

enter image description here

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


58

Janardhan R
18 Мар 2017 в 11:11

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

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

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

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


33

Community
23 Май 2017 в 15:34

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

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

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

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

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

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

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

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

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

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

      <старт = «5»>

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

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

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

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


15

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

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

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

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

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

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


8

Xakep
23 Апр 2015 в 16:45

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

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

enter image description here

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

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

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

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


5

tiny sunlight
11 Янв 2016 в 17:57

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

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

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


4

Jacob George
21 Июл 2019 в 07:49

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

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


2

DivineChaos
23 Дек 2015 в 20:13

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


2

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

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


2

Deepika kapila
23 Сен 2016 в 18:17

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


0

Prof
17 Апр 2016 в 03:56

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

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


0

Thasneem
14 Июн 2016 в 10:09

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

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

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

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

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


0

ersks
19 Июл 2016 в 06:27

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

enter image description here


0

Bagesh Sharma
14 Дек 2016 в 07:48

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

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

Выполнено!


0

Martin Jovial
2 Сен 2017 в 02:07

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

1) В build.gradle

ApplicationId «mynew.mynewpackage.com»

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


0

VARUN ISAC
5 Дек 2019 в 15:54

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

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


0

batthis
14 Мар 2021 в 21:38

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

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

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

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

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

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


0

Martin
18 Сен 2021 в 21:11

Как переименовывать пакеты в новой IDE Android Studio на основе intelijj ?

включен ли автоматический рефакторинг?

Я хочу сделать массовый рефакторинг, но я не знаю, как. Я работал 2 года с eclipse, и в eclipse это операция одного клика.

30 ответов


в Android Studio, вы можете сделать это:

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

  1. в своем панели проект, нажмите на маленький значок шестеренки ( Gears icon )

  2. снимите / снимите флажок Compact Empty Middle Packages опции

Compact Empty Middle Packages

  1. ваш каталог пакетов теперь будет разбит на отдельные каталоги

  2. индивидуально выберите каждый каталог, который вы хотите переименовать, и:

    • щелкните правой кнопкой мыши
    • выберите Refactor
    • нажать на кнопку Rename
    • в появившемся окне нажмите на кнопку Rename Package вместо переименования каталога
    • введите новое имя и нажмите рефакторинг
    • клик Сделать Рефакторинг в самом низу
    • разрешить одну минуту, чтобы Android Studio обновить все изменения
    • Примечание: при переименовании com в Android Studio это может дать предупреждение. В таком случае выберите Переименовать Все

enter image description here

  1. теперь откройте Gradle В Файл Build (build.gradle — обычно app или mobile). Обновите applicationId на defaultConfig для вашего нового имени пакета и синхронизации Gradle, если он еще не был обновляется автоматически:

Refactor Directories

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

  2. очистить и перестроить.

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


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

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

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

сделано.

еще одна очень важная вещь

вы должны изменить вручную AndroidManifest.в XML и построить.Gradle в в новый пакет, если вы используете этот метод.


изменение идентификатор приложения (который теперь не зависит от имени пакета) можно сделать очень легко за один шаг.
Вам не нужно прикасаться к AndroidManifest.
Вместо этого сделайте следующее:

  1. щелкните правой кнопкой мыши на корневую папку вашего проекта.
  2. Нажмите «Открыть Настройку Модуля».
  3. перейдите на вкладку кухни.
  4. измените applicationID на любое имя пакета, которое вы хотите. Нажмите OK.

Примечание не изменить имя пакета. Здесь объясняется развязка имени пакета и идентификатора приложения:
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename


подход, используемый мной для переименования имени пакета, прост: —

Шаг 1
: Выберите опцию проекта из левого меню Android Studio

enter image description here

Шаг 2
: Щелкните правой кнопкой мыши на java и добавьте новый пакет и установите желаемое имя пакета

enter image description here

Шаг 3
: Введите новый packagename

enter image description here

Шаг 4
: Скопируйте все файлы из старого пакета и вставьте в новый пакет

enter image description here

Шаг 5
: Переименуйте имя пакета в файле манифеста

enter image description here

Шаг 6
: Переименуйте имя пакета в build.файл gradle

enter image description here

шаг 7
:Затем щелкните правой кнопкой мыши старый пакет и удалите его со всеми его данными, а также удалите этот каталог

enter image description here

Шаг 8
:Тогда перестройте свой проект

enter image description here

Шаг 9
:Тогда вы найдете некоторые ошибки старого import packagename в вашем проекте
выберите старое имя пакета в любом файле и нажмите CTRL + Shift + R и введите вы новое имя пакета в поле заменить, затем нажмите find

enter image description here

Шаг 10
:Затем появится всплывающее окно, как показано ниже, и выберите Все файлы из него

enter image description here

Шаг 11
: Перестройте свой проект снова, bingo ваше имя пакета проекта было изменено :)


щелкните правой кнопкой мыши на пакете в Панель Проекта.

выбрать «рефакторинг» — > «переименовать» из контекстного меню.

38

автор: GreyBeardedGeek


  1. Гото ваш AndroidManifest.XML.
  2. поместите курсор в имя пакета, как показано ниже, не выбирайте его, просто поместите его.

enter image description here

  1. нажмите клавишу shift+F6 вы получите всплывающее окно, как показано ниже, выберите
    переименовать пакет.

enter image description here

  1. введите новое имя и выберите рефакторинг.
    (Примечание с момента моего курсора на «что-то» только что-то переименовали.)

вот и все.

29

автор: Prince Jayakumar


(1)

открыть файл:

app > > манифесты > > AndroidManifest.в XML

enter image description here

выделите каждую часть в имени пакета, которое вы хотите изменить (не выделяйте имя всего пакета), затем:

  • правая кнопка мыши >> рефакторинг >> переименовать >> переименовать пакет
  • введите новое имя и нажмите (рефакторинг)

выполните эти шаги в каждой части пакета имя

enter image description here

(2)

открыть (скрипт Gradle) > > (build.gradle (модуль:app))

обновить applicationId к вашему имени пакета

enter image description here

(3)

откройте меню (build) и выберите (Rebuild Project)



выберите пакет будет рефакторинг, рефакторинг->перемещение ->»переместить XXX на новый пакет»


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

из Android Studio нажмите на значок шестеренки (Gears icon ), а затем выберите вариант: "Compact Empty Middle Packages", чтобы увидеть папки, разделенные в виде дерева.

introducir la descripción de la imagen aquí

Теперь выберите папку, нажмите правую кнопку, чтобы открыть контекстное меню, выберите Refactor и затем Rename

introducir la descripción de la imagen aquí

вы будете уведомлены, чтобы рефакторинг пакет:

introducir la descripción de la imagen aquí

затем окно покажет совпадения внутри proyect, выберите "Do Refactor":

introducir la descripción de la imagen aquí

нам не нужно вручную изменять 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, но, наконец, я достиг этого. Вот шаги, чтобы следовать:

  1. скопируйте папку проекта, переименуйте ее и откройте с помощью Android Studio
  2. переименовать каталог модулей из проводника
  3. переименовать имя проекта.iml и содержание
  4. переименовать idea/.имя контента
  5. в панели проекта нажмите на маленький значок шестеренки — > снимите флажок «компактный пустой средний пакет»
  6. каталоги src рефакторинга для нового имени пакета (переименовать пакет, «не переименовывать каталог»)
  7. в build.gradle переименовать идентификатор приложения
  8. настройки.gradle переименовать модуль

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

  • элемент списка: новый метод Package-drag-drop оставляет некоторые неизменными и создает некоторые нежелательные эффекты
  • элемент списка: переименовать пакет изменяет только последнюю часть имени пакета

после некоторых экспериментов я обнаружил, что следующий метод хорошо работает для меня.

Если вам просто нужно изменить последнюю часть имени пакета, используйте метод, описанный GreyBeardedGeek, а именно

щелкните правой кнопкой мыши пакет на панели проект. Выбрать «рефакторинг» — > «переименовать» из контекстного меню

Если вам нужно изменить имя всего пакета, сделайте следующее.

щелкните правой кнопкой мыши пакет на панели проект. Выберите рефакторинг — > переместить из контекстного меню

Это создаст новую папку пакета (при необходимости), но сохранит последнюю часть вашего имени пакета, как и раньше. Если вам нужно чтобы изменить последнюю часть, выполните соответствующее переименование.

обратите внимание также, что вам может потребоваться изменить имена пакетов, например, в build.gradle, manifest и / или любые файлы ресурсов xml или даже в вашем коде, если они жестко закодированы. После всего этого выполните синхронизацию/очистку / перестроение проекта по мере необходимости.

4

автор: ssgg Google Developer Platform


пожалуйста, попробуйте следующее:

  1. нажмите на значок Настройки передач и снимите флажок компактный пустой средний пакет
  2. Теперь мы можем видеть, что каждая папка пакета разбита на части
  3. Теперь щелкните правой кнопкой мыши на первой папке пакета > > > рефакторинг > > > переименовать
  4. Теперь будет отображаться предупреждение, но вы идете вперед и нажмите переименовать
    Пакет
  5. после этого введите свое доменное имя для имени пакета
  6. нажмите » сделать Рефактор’
  7. Теперь он изменил доменное имя пакета приложения. Теперь измените
    расширение домена и имя папки приложения в соответствии с вашим требованием
  8. Теперь откройте сборку.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—>

  1. Открыть Манифест.xml и измените имя пакета на то, что вы хотите.
  2. открыть ваше приложение.gradle файл и изменить идентификатор приложения в defaultConfig на то же имя, как в манифесте и перестроить проект.
  3. если все еще проблема, откройте файл под именем пакета, перейти к упаковке панировочных сухарей(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 хитов, просто нажмите продолжать.

enter image description here

после того, как вы сделали это, нажмите заменить все, чтобы заменить старое имя пакета на новое.

enter image description here

теперь закройте Android Studio и перейдите в Finder на Mac или Windows Explorer на Windows. Измените имя папок на новое имя пакета, например:

enter image description here

теперь снова откройте 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

готово!


  1. выберите имя пакета в папке Java.
  2. Shift+F6
  3. измените имя пакета и нажмите OK.

ваше имя пакета будет изменено из всех файлов java и файла манифеста. Вы должны вручную изменить имя пакета из сборки.Gradle в


ctrl+shift+R всегда работал для меня.
Просто замените все и выберите Все файлы.


Я рекомендую использовать Sublime Text (или Notepad++). Заменить com.один.фамилия -> ком.два.новое имя и com/one/lastname -> com/two / newname in …Проекты [Мой Проект]. и не забудьте переименовать …Проектыmyproject будетприложенияНИЦглавнаяЯвасомодин «фамилия»…ПроектыMyProjectappsrctestjavacomonelastname and …Проектыmyproject будетприложенияНИЦandroidTestЯвасомодин «фамилия»!
Все это :)
screenshot

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 до нужного имени пакета.


Вопрос:

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

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

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

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

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

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

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

Ответ №1

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

Ответ №2

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

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

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

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

Ответ №3

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

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

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

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

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

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

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

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

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

Ответ №4

Без Eclipse:

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

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

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

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

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

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

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

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

Ответ №5

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

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

DONE

Ответ №6

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

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

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

Ответ №7

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

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

Ответ №8

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

Ответ №9

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

Ответ №10

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

Ответ №11

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

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

Ответ №12

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

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

Ответ №13

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

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

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

Ответ №14

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

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

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

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

Ответ №15

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

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

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

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

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

Ответ №16

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

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

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

Ответ №17

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

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