Переименовать пакет в Android Studio

Как вы переименовываете пакеты в новой IDE Android Studio, основанной на IntelliJ IDEA?

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

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

Ответы

Ответ 1

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

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

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

  2. Снимите флажок/отмените выбор опции Compact Empty Middle Packages

    Compact Empty Middle Packages

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

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

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

    Enter image description here

  5. Теперь откройте свой файл сборки Gradle (build.gradle - обычно app или mobile). Обновите applicationId в defaultConfig до нового имени пакета и Gradle Gradle, если оно еще не было обновлено автоматически:

    Refactor Directories

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

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

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

Ответ 2

Еще один хороший метод: сначала создайте новый пакет с нужным именем, щелкнув правой кнопкой мыши папку Java → Создать → Пакет.

Затем выберите и перетащите все ваши классы в новый пакет. Android Studio повсеместно проведет рефакторинг имени пакета.

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

Готово.

Очень важно:

При использовании этого метода вы должны вручную изменить файл AndroidManifest.xml и файл build.gradle на новый пакет.

Ответ 3

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

  1. щелкните правой кнопкой мыши корневую папку вашего проекта.
  2. Нажмите "Открыть настройки модуля".
  3. Перейдите на вкладку "Ароматизаторы".
  4. Измените идентификатор приложения на любое имя пакета. Нажмите OK.

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

Ответ 4

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

Шаг 1 : Выберите вариант "Проект" в меню слева от Android Studio

введите описание изображения здесь

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

введите описание изображения здесь

Шаг 3 : Введите новое имя_файла

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

Шаг 8 : Затем перестройте свой проект

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

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

Ответ 5

  1. Перейдите в свой файл AndroidManifest.xml.
  2. Поместите курсор в название пакета, как показано ниже. Не выбирайте это, просто поместите это.

    Enter image description here

  3. Затем нажмите Shift + F6, вы получите всплывающее окно, как показано ниже, выберите Переименовать пакет.

    Enter image description here

  4. Введите новое имя и выберите Refactor. (Обратите внимание, поскольку мой курсор находится на "чем-то", только что-то переименовывается.)

Это сделано.

Ответ 6

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

Выберите "Рефакторинг" → "Переименовать" в контекстном меню.

Ответ 7

  1. Откройте файл:

    приложение → манифесты → AndroidManifest.xml

    Enter image description here

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

    • Щелчок правой кнопкой мыши → Refactor → Rename → Rename package
    • введите новое имя и нажмите (Refactor)

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

    Enter image description here

  2. Открыть (Gradle Script) >> (build.gradle (Модуль: приложение))

    и обновите applicationId до вашего имени пакета

    Enter image description here

  3. Откройте меню (построить) и выберите (Перестроить проект).

Ответ 9

Выберите пакет, который будет подвергнут рефакторингу. Refactor → Move → "Переместить xxx в новый пакет".

Ответ 10

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

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

ознакомление с описанием образа жизни

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

ознакомление с описанием образа жизни

Вам будет предложено реорганизовать пакет:

ознакомление с описанием образа жизни

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

Введение в концепцию искусства

Нам не нужно вручную изменять файлы AndroidManifest.xml или build.gradle, рефакторинг пакета будет выполнять эту работу!

Ответ 11

Если ваше имя пакета разделено более чем на две точки, скажем com.hello.world и более того, вы не помещали ничего в com/ и com/hello/. Все ваши классы помещаются в com/hello/world/, вы можете сделать следующие шаги для реорганизации имен ваших пакетов в Android Studio или IntelliJ:

  • [FIRST] Добавьте что-то под свои каталоги (com/, com/hello/). Ты можешь достигните этого, сначала добавьте два файла в пакет com.hello.world, скажем
   com.hello.world.PackageInfo1.java
   com.hello.world.PackageInfo2.java

затем переформатируйте их, переместив их в com и com.hello соответственно.  Вы увидите com и com.hello, сидящие там в проекте (Alt+1 или Command+1 для ярлыка) и переименовать каталоги рефакторинга  ожидая там, как вы ожидали.

  • Рефакторинг для переименования одного или нескольких из этих каталогов для достижения вашей цели. Единственное, что вы должны заметить здесь: вы должны выбрать каталоги, а не пакеты, когда вас спросит диалог.

  • Если у вас много классов в вашем проекте, вам потребуется некоторое время, чтобы дождаться его автоматического сканирования и переименования.

  • Кроме того, вы должны переименовать имя пакета внутри AndroidManifest.xml вручную, я думаю, что другие имена в этом файле могут принести пользу префиксу.

  • [ТАКЖЕ], вам может понадобиться заменить все com.hello.world.R на новый XXX.XXX.XXX.R (Command+Shift+R для краткости)

  • Восстановите и запустите проект, чтобы увидеть, работает ли он. И используйте "Найти в пути", чтобы найти другие имена без касания, которые вы хотели бы переименовать.

  • Наслаждайтесь этим.

Ответ 12

Обязательно зайдите в Шехарьяр Великий Ответ. За этим последовало так много ответов и комментариев, что было бы легко запутаться и сдаться, но не делайте этого. Этот ответ работает.

Короче говоря, вы делаете три вещи:

(1) Отмените выбор Compact Empty Middle Packages.

(2) Refactor затем Rename каждый старый узел каталога, выбрав Change Package (не Change Directory), чтобы соответствовать новому имени пакета. (Обязательно сделайте предварительный просмотр изменений.)

(3) Отредактируйте файл build.gradle и сделайте так, чтобы APPLICATION_ID соответствовал новому имени пакета.

Ответ 13

Распространенная ошибка, которую можно совершить, заключается в том, что нельзя переименовать структуру пакета, т.е. невозможно изменить com.name.android на com.Renamed.android, когда кто-то пытается изменить его на уровне com.name.android.

Чтобы получить такое же желаемое изменение, перейдите на один уровень вверх, то есть com.name, а здесь, когда вы реорганизуете его, измените его на Renamed. Это будет работать всегда.

Ответ 14

Обновленный ответ: май 2015

OK Я боролся с клонированием и переименованием проектов в Android Studio, но, в конце концов, я это добился. Ниже приведены следующие шаги:

  • Скопируйте папку проекта, переименуйте ее и откройте в Android Studio
  • Переименуйте каталог модуля из проводника
  • Переименовать projectName.iml и содержимое
  • Переименовать идею /.name content
  • На панели "Проект" щелкните значок маленькой шестерни → снимите флажок "Компактный пустой средний пакет"
  • Каталоги refactor src для нового имени пакета (переименовать пакет, "не переименовать каталог" )
  • В build.gradle переименовать идентификатор приложения
  • settings.gradle переименовать модуль

Что это...

Ответ 15

Я нашел другой способ, который работает или дополнительный шаг к некоторым ответам здесь, особенно если вы хотите изменить домен. Работает в Android Studio 1.4. Вот что я сделал:

  1. Откройте Manifest.xml и измените имя пакета на то, что вы хотите.
  2. Откройте файл приложения build.gradle и измените идентификатор приложения в defaultConfig на то же имя, что и в манифесте, и перестройте проект.
  3. Если проблема по-прежнему возникает, откройте файл под именем пакета, перейдите к хлебным крошкам пакета (т.е. объявите пакет в начале файла) и установите курсор на домен, который вы хотите изменить, и нажмите "Shift + F6", он появится в диалоговом окне с несколькими предупреждениями об использовании нажмите "Переименовать пакеты", а затем "Do Refactor", оно должно переименовать все, включая файлы R.Java.

Так, например, если вы хотите переименовать com.example.app в com.YourDomain.app, откройте файл в пакете, который нужно переименовать, в хлебных крошках пакета установите курсор на "example" часть домена и нажмите Shift + F6 и переименуйте пакет в "YourDomain".

Ответ 16

Я нашел более простое решение этой проблемы, которое также изменило сгенерированный импорт, например 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 синхронизируется, и имя вашего пакета должно быть изменено на новое.

Я нашел, что это самый простой и тот, который охватывает все области, такие как сгенерированные файлы.

Ответ 17

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

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

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

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

Щелкните правой кнопкой мыши пакет на панели "Проект". Выберите "Рефакторинг" → "Переименовать" из контекстного меню

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

Щелкните правой кнопкой мыши пакет на панели "Проект". Выберите "Рефакторинг" → "Переместить" из контекстного меню

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

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

Ответ 18

Щелкните правой кнопкой мыши пакет → рефакторинг и измените имя.

Вы также можете изменить его в манифесте. Иногда, если вы меняете имя пакета, но после создания файла .apk он показывает другое имя пакета. В это время проверьте "applicationId" в файле build.gradle.

Ответ 19

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

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

Ответ 20

  • Первая часть состоит из создания нового пакета в папке java и выбора, а затем перетаскивания всех ваших исходных файлов из old package в этот new package. После этого вам нужно remane имя пакета в android manifest на имя нового пакета.

  • На шаге 2 вот что вам нужно сделать. Вам нужно изменить старое имя пакета в applicationId под модулем build.gradle в вашей андроид-студии в дополнение к изменению имени пакета в manifest. Итак, в итоге, нажмите на build.gradle который находится ниже "AndroidManifest.xml" и измените значение applicationId на имя вашего нового пакета.

  • Затем, на самом верху, под build. clean ваш проект, а затем rebuild. Это должно быть хорошо отсюда.

Ответ 21

Это я верю, что вы ищете - Refactor > Move. Вы также можете нажать F6.

Вы получите два всплывающих окна. Убедитесь, что вы выбрали переименование пакета на обоих. После этого вы получите всплывающее окно для размещения нового имени пакета.

Обратите внимание, что если ваше имя пакета, например, com.example.android.projectname, то это позволит вам сменить com.example.android на что-то еще.

Еще одна вещь, это также обновит applicationId в вашем build.gradle. Просто убедитесь, что флажки для "поиска в комментариях и строках" и "поиск текстовых вхождений" проверяются для его работы.

Ответ 22

Лучший способ - написать новое имя пакета и перетащить его с более старого имени пакета.

Второй способ: если вы щелкнете по Refactor, затем переместите опцию, затем переименуете имя пакета, он переименует имя пакета и затем перестроит.

В Build.gradle вы должны сделать это вручную, если вы выполните Refactor, то он не будет переименовываться в Build.gradle.

Ответ 23

Я рекомендую использовать Sublime Text (или Notepad++). Замените com.one.lastname → com.two.newname и com/one/lastname → com/two/newname в... \Projects [MyProject]. и не забудьте переименовать...\Projects\MyProject\app\src\main\java\com\one\фамилия,...\Projects\MyProject\app\src\test\java\com\one\lastname и...\Projects\MyProject\app\src\androidTest\java\com\one\фамилия!

Это все :)

Screenshot

Ответ 24

  • Перейдите в путь проекта>, где вы разместили файлы Java и пакет
  • Создайте новые папки, например com → super_package → активность
  • Android Studio обновит структуру проекта
  • Переместить все файлы Java в новые папки
  • Удалить старые папки
  • Меню Правка → Найти → Заменить в пути:
  • Измените имя старого пакета на новое
  • Измените также в манифесте и построить Gradle

Готово!

Ответ 25

  • Выберите опцию введите описание изображения здесь

  • Снимите флажок Compact Empty Middle Packages.

  • Выберите каталог, который вы хотите изменить (я выбрал 'crl', показанный на шаге 6).
  • Shift + F6
  • Переименовать пакет
  • Переименование каталога crl в crl1 введите описание изображения здесь

  • Наконец, нажмите кнопку Do Refactor, помеченную на изображении ниже введите описание изображения здесь введите здесь код

  • После внесенных изменений введите описание изображения здесь

Ответ 26

Быстрый и простой способ:

1- открыть MainActivity.java или любой доступный java файл.

В верхней части находится объявление пакета, например:

пакет com. example.myapp;

выберите часть пакета, которую вы хотите изменить, и нажмите Shift + F6. Я лично хочу изменить example.

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

2- Откройте AndroidManifest.xml и внутри тега <manifest> измените package на требуемое имя пакета.

3- открыть build.gradle(Module: app) и изменить applicationId на требуемое имя пакета.

Ответ 27

ctrl + Shift + R всегда работал для меня. Просто replace all и выберите All Files.

Ответ 28

  1. Нажмите Ctrl + Shift + R

  2. Замените старую упаковку новой.

  3. Щелкните правой кнопкой мыши на имени пакета.

  4. Refactor > Rename и переименовать в новый

Ответ 29

Попробуйте выполнить следующие действия:

  • Нажмите на значок установки шестеренки и снимите флажок Compact Empty Middle Package
  • Теперь мы можем видеть, что каждая папка пакета разбита на части
  • Теперь щелкните правой кнопкой мыши по первой папке пакета → > refactor → > rename
  • Теперь появится предупреждение, но вы перейдете к нему и нажмите "Переименовать" Пакет
  • После этого введите свое доменное имя для имени пакета
  • Нажмите "Do Refactor"
  • Теперь он изменил доменное имя пакета приложения. Теперь измените расширение домена и имя папки приложения в соответствии с вашим требованием
  • Теперь откройте build.gradle(Module: app) в Gradle Scripts. Здесь меняются идентификатор приложения и нажмите "Синхронизировать сейчас".

******* Наконец, его сделано ******

Ответ 30

Как переименовать com.example.app в com.android.app:

  1. в пакете com.example.app выберите пример

  2. Shift + F6

  3. выберите rename package

  4. переименовать пример на андроид

  5. подтвердить do refactor