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

Как переименовывать пакеты в новой 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 ваше имя пакета проекта было изменено :)


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

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


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

enter image description here

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

enter image description here

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

вот и все.


(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)


Intelli J имеет опцию под названием "компактные пустые средние пакеты". Выберите опцию-значок вкладки проект и де / активировать это.

посмотреть: как изменить имя пакета верхнего уровня в IntelliJ


выберите пакет будет рефакторинг, рефакторинг->перемещение ->"переместить 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 или даже в вашем коде, если они жестко закодированы. После всего этого выполните синхронизацию/очистку / перестроение проекта по мере необходимости.


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

  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.


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

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


первая часть состоит из создания нового пакета в папке "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 будет\приложения\НИЦ\главная\Ява\сом\один\ "фамилия"...\Проекты\MyProject\app\src\test\java\com\one\lastname and ...\Проекты\myproject будет\приложения\НИЦ\androidTest\Ява\сом\один\ "фамилия"! Все это :) screenshot


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

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