Android studio переименовать package

AwesomeDevelop

Лёгкая техносферная обстановка в душевой Google 8)

Как изменить имя пакета в Android Studio.

Иногда возникают ситуации, когда по окончанию работы над проектом обнаруживается, что имя пакета, заданного при создании проекта, следует изменить. Подобная ситуация может возникнуть, если в магазине приложений Google Play данное имя уже используется или же, к примеру, вы допустили ошибку при создании проекта и теперь не можете обновить свое приложение. Такая неприятность легко решается если вы использовали в качестве IDE старенький Eclipse,но вот с Android Studio дела обстоят немного хуже.

Попытка сделать рефакторинг имени пакета в студии приводит к тому, что корректно изменится лишь название проекта – com.name. appname . Это происходит потому, что Anndroid Studio объединяет средние имена пакета (по сути папки) в одно название и считает остальную часть принадлежащей конкретному разработчику или компании, а значит является их идентификатором. Но все же изменить средние имена пакета можно и без особых проблем. Первым способом является изменение название папок внутри проекта, но за этим последует рутинное изменение всех связей в проекте, к тому же и так тормозной Gradle начнёт капризничать пуще прежнего и привести его работу в порядок будет крайне сложно. Потому я рекомендую воспользоваться вторым, более простым и быстрым способом полного изменения имени пакета.
Для начала необходимо открепить объединение средних имен в пакете, для этого нужно выбрать параметры отображения структуры проекта, которая находится над самой текстурой и убрать галочку “Compact Empty Middle Packages”.

Когда имена будут откреплены, каждое из имён можно изменить отдельно. Меняем необходимые имена выбрав из контекстного меню Refactor – > Rename или нажав сочетание клавиш Shift+F6. При появлении предупреждения нажимаем кнопку Rename Package.

Источник

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

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

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

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

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

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

На панели вашего проекта нажмите на маленький значок шестеренки ( )

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

Ваша директория пакета теперь будет разбита на отдельные директории

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

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

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

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

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

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

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

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

Читайте также:  Экспорт данных телеграмм андроид

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

Очень важно:

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

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

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

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

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

Шаг 1. Выберите опцию «Проект» в левом меню Android Studio

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

Шаг 3 : Введите новое имя пакета

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

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

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

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

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

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

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

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

    Перейдите в свой файл AndroidManifest.xml.

Поместите курсор в название пакета, как показано ниже. Не выбирайте это, просто поместите это.

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

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

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

Выберите Refactor -> Rename из контекстного меню.

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

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

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

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

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

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

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

IntelliJ IDEA имеет опцию «Компактные пустые средние пакеты». Выберите значок параметра на вкладке « Проект » и деактивируйте его.

Выберите пакет, который будет подвергнут рефакторингу. RefactorMove«Переместить xxx в новый пакет» .

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

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

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

Вам будет рекомендовано провести рефакторинг пакета:

Читайте также:  Видеорегистратор с антирадаром для андроида

Затем в окне отобразятся совпадения внутри проекта, выберите «Do Refactor» :

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

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

  • [ПЕРВЫЙ] Добавьте что-нибудь под ваши каталоги ( com/ , com/hello/ ). Вы можете добиться этого, сначала добавив два файла в пакет com.hello.world, скажем

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

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

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

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

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

Перестройте и запустите ваш проект, чтобы увидеть, работает ли он. И используйте «Найти в пути», чтобы найти другие бесконтактные имена, которые вы хотите переименовать.

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

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

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

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

(3) Отредактируйте build.gradle файл и APPLICATION_ID сопоставьте имя нового пакета.

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

Хорошо, я боролся с проектами клонирования и переименования в Android Studio, но в конце концов я достиг этого. Вот шаги, чтобы следовать:

  1. Скопируйте папку проекта, переименуйте ее и откройте в Android Studio
  2. Переименовать каталог модуля из проводника
  3. Переименуйте projectName.iml и контент
  4. Переименовать идею / .name
  5. На панели Project нажмите маленький значок шестерни -> снимите флажок «Compact Empty Middle Package»
  6. Рефакторинг каталогов src для нового имени пакета (переименовать пакет, «не переименовывать каталог»)
  7. В build.gradle переименуйте идентификатор приложения
  8. модуль переименования settings.gradle

Я нашел более простое решение этой проблемы, которое также изменило сгенерированный импорт, как com.test.testpackagechange.R и заняло около минуты.

Ваш первый шаг — открыть Android Studio и открыть окно замены всех (Mac: cmd + shift + R, Windows, я предполагаю: ctrl + shift + R). Введите имя вашего старого пакета и тот, что ниже вашего нового имени пакета. Нажмите Найти. Это может занять некоторое время, поскольку он также просматривает созданные элементы. Если у него более 1000 просмотров, просто нажмите «Продолжить».

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

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

Читайте также:  Виртуальный девайс для android

Теперь снова откройте Android Studio. Gradle синхронизируется, и имя вашего пакета должно быть изменено на новое.

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

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

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

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

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

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

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

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

Изменить имя пакета

Чтобы переименовать имя пакета, все, что вам нужно сделать, — это зайти в ваш AndroidManifest.xml файл, навести курсор мыши перед той частью имени пакета, которую вы хотите изменить.

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

В новом окне нажмите Переименовать пакет

Измените имя и нажмите Refactor

… И нажмите Do Refactor внизу.

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

Выполнено! Вы изменили название своего пакета!

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

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

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

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

Щелкните правой кнопкой мыши по пакету на панели «Проект». Выберите Refactor -> Rename из контекстного меню.

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

Щелкните правой кнопкой мыши по пакету на панели «Проект». Выберите Refactor -> Move из контекстного меню.

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

Источник

Оцените статью