Как вы переименовываете пакеты в новой IDE Android Studio, основанной на IntelliJ IDEA?
Включен ли автоматический рефакторинг?
Я хочу сделать массовый рефакторинг, но я не знаю как. Я работал два года с Eclipse, и в Eclipse это операция в один клик.
android-studio
ramzixp
источник
источник
Ответы:
В Android Studio вы можете сделать это:
Например, если вы хотите изменить
com.example.app
наmy.awesome.game
, то:На панели вашего проекта нажмите на маленький значок шестеренки ( )
Снимите флажок / отмените выбор
Compact Empty Middle Packages
опцииВаша директория пакета теперь будет разбита на отдельные директории
Индивидуально выберите каждый каталог, который вы хотите переименовать, и:
Refactor
Rename
Rename Package
вместо «Переименовать каталог».com
в Android Studio может появиться предупреждение. В таком случае выберите Rename AllТеперь откройте ваш файл сборки Gradle (
build.gradle
- Обычноapp
илиmobile
). ОбновитеapplicationId
вdefaultConfig
свой новый имя пакета и Grad Gradle, если он еще не был обновлен автоматически:Возможно, вам придется изменить
package=
атрибут в вашем манифесте.Очистить и восстановить.
Выполнено! В любом случае, Android Studio нужно сделать этот процесс немного проще.
источник
com.example.test
кcom.example
и затем удалитьcom.example.test
.Еще один хороший метод: сначала создайте новый пакет с нужным именем, щелкнув правой кнопкой мыши папку Java → Создать → Пакет .
Затем выберите и перетащите все ваши классы в новый пакет. Android Studio будет проводить рефакторинг имени пакета везде.
Наконец, удалите старый пакет.
Выполнено.
Очень важно:
Вы должны вручную изменить AndroidManifest.xml и файл build.gradle на новый пакет, если вы используете этот метод.
источник
Изменить идентификатор приложения (который теперь не зависит от имени пакета) можно очень легко за один шаг. Вам не нужно трогать AndroidManifest. Вместо этого сделайте следующее:
Обратите внимание, что это не изменит имя пакета. Разделение имени пакета и идентификатора приложения объясняется здесь: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
источник
com.example.sample
наcom.example
использование других ответовПодход, использованный мной для переименования имени пакета, прост:
Шаг 1. Выберите опцию «Проект» в левом меню Android Studio
Шаг 2 : Щелкните правой кнопкой мыши на Java, добавьте новый пакет и установите желаемое имя пакета
Шаг 3 : Введите новое имя пакета
Шаг 4 : Скопируйте все файлы из старого пакета и вставьте в новый пакет
Шаг 5 : переименуйте имя пакета в файле манифеста
Шаг 6 : переименуйте имя пакета в файле build.gradle
Шаг 7 : Затем щелкните правой кнопкой мыши старый пакет и удалите его со всеми его данными, а также удалите этот каталог.
Шаг 8 : Затем перестройте свой проект
Шаг 9 : Затем вы обнаружите в своем проекте ошибки старого имени пакета импорта. Выберите имя старого пакета в любом файле и нажмите CTRL + Shift + R , введите новое имя пакета в поле замены, затем нажмите найти
Шаг 10 : Затем появится всплывающее окно, как показано ниже, и выберите опцию «Все файлы».
Шаг 11 : Перестройте свой проект снова, бинго, имя вашего проекта было изменено :)
источник
Поместите курсор в название пакета, как показано ниже. Не выбирайте это, просто поместите это.
Затем нажмите Shift+, F6вы получите всплывающее окно, как показано ниже, выберите Rename package .
Введите свое новое имя и выберите Refactor . (Обратите внимание, поскольку мой курсор находится на «что-то», только что-то переименовывается.)
Это сделано.
источник
Щелкните правой кнопкой мыши пакет на панели проекта .
Выберите Refactor -> Rename из контекстного меню.
источник
Откройте файл:
приложение → манифесты → AndroidManifest.xml
Выделите каждую часть имени пакета, которую вы хотите изменить (не выделяйте имя всего пакета), затем:
Проделайте эти шаги в каждой части имени пакета.
Открыть (Gradle Script) >> (build.gradle (Модуль: приложение))
и обновите applicationId до вашего имени пакета
Откройте меню (построить) и выберите (Перестроить проект).
источник
IntelliJ IDEA имеет опцию «Компактные пустые средние пакеты». Выберите значок параметра на вкладке « Проект » и деактивируйте его.
Смотрите: Как я могу изменить имя пакета верхнего уровня в IntelliJ IDEA?
источник
Выберите пакет, который будет подвергнут рефакторингу. Refactor → Move → «Переместить 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, но в конце концов я достиг этого. Вот шаги, чтобы следовать:
Это оно...
источник
Я нашел более простое решение этой проблемы, которое также изменило сгенерированный импорт, как
com.test.testpackagechange.R
и заняло около минуты.Ваш первый шаг - открыть Android Studio и открыть окно замены всех (Mac: cmd + shift + R, Windows, я предполагаю: ctrl + shift + R). Введите имя вашего старого пакета и тот, что ниже вашего нового имени пакета. Нажмите Найти. Это может занять некоторое время, поскольку он также просматривает созданные элементы. Если у него более 1000 просмотров, просто нажмите «Продолжить».
После этого нажмите «Заменить все», чтобы заменить старое имя пакета новым.
Теперь закройте Android Studio и перейдите в Finder на Mac или Windows Explorer в Windows. Измените имя папки на имя вашего нового пакета, например так:
Теперь снова откройте Android Studio. Gradle синхронизируется, и имя вашего пакета должно быть изменено на новое.
Я нашел, что это самый простой и тот, который охватывает все области, такие как сгенерированные файлы.
источник
Распространенная ошибка, которую можно совершить, заключается в том, что нельзя переименовать структуру пакета, т. Е. Невозможно изменить com.name.android на com.Renamed.android, если попытаться изменить его на уровне com.name.android .
Чтобы получить такое же желаемое изменение, перейдите на один уровень вверх, то есть com.name, и здесь, когда вы будете выполнять рефакторинг, измените его на Renamed . Это будет работать всегда.
источник
Я нашел другой способ, который работает или дополнительный шаг к некоторым ответам здесь, особенно если вы хотите изменить домен. Работает в Android Studio 1.4. Вот что я сделал:
build.gradle
и измените идентификатор приложения в defaultConfig на то же имя, что и в манифесте, и перестройте проект.Так, например, если вы хотите переименовать «com.example.app» в «com.YourDomain.app», откройте файл в пакете, который нужно переименовать, в хлебных крошках пакета установите курсор на «пример» части домена и нажмите Shift+ F6и переименуйте пакет в «YourDomain».
источник
Ваше имя пакета будет изменено из всех файлов Java и файла манифеста. Вы должны вручную изменить имя пакета с
build.gradle
.источник
Изменить имя пакета
Чтобы переименовать имя пакета, все, что вам нужно сделать, - это зайти в ваш
AndroidManifest.xml
файл, навести курсор мыши перед той частью имени пакета, которую вы хотите изменить.Щелкните правой кнопкой мыши> Refactor> Rename
В новом окне нажмите Переименовать пакет
Измените имя и нажмите Refactor
… И нажмите Do Refactor внизу.
Имя вашего пакета обычно имеет формат com.domain.appname, в этом примере мы изменили часть имени приложения, но вы можете сделать те же шаги и для домена.
Выполнено! Вы изменили название своего пакета!
источник
Я попробовал два решения с наибольшим количеством голосов, но нашел некоторые проблемы, хотя оба работают в некоторой степени.
После некоторых экспериментов я обнаружил, что следующий метод хорошо работает для меня.
Если вам просто нужно изменить последнюю часть имени пакета, используйте метод, описанный GreyBeardedGeek, а именно
Щелкните правой кнопкой мыши по пакету на панели «Проект». Выберите Refactor -> Rename из контекстного меню.
Если вам нужно изменить полное имя пакета, выполните следующие действия.
Щелкните правой кнопкой мыши по пакету на панели «Проект». Выберите Refactor -> Move из контекстного меню.
Это создаст новую папку пакета (при необходимости), но сохранит последнюю часть имени вашего пакета, как и раньше. Если вам нужно изменить последнюю часть, сделайте переименование соответствующим образом.
Также обратите внимание, что вам может потребоваться изменить имена пакетов, например, в build.gradle, manifest и / или в любых файлах ресурсов XML, или даже в вашем коде, если он жестко задан. После всего этого делайте Sync / Clean / Rebuild проекта по мере необходимости.
источник
Как переименовать
com.example.app
вcom.android.app
:в пакете
com.example.app
выберите примерShift + F6
выбирать
rename package
переименовать пример на андроид
подтверждения
do refactor
источник
Щелкните правой кнопкой по пакету -> рефакторинг и измените имя.
Вы также можете изменить его в манифесте. Иногда, если вы меняете имя пакета, но после создания файла .apk он показывает другое имя пакета. В это время проверьте «applicationId» в файле build.gradle .
источник
Я рекомендую использовать 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 \ lastname, ... \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname и ... \ Projects \ MyProject \ app \ src \ androidTest \ java \ com \ one \ фамилия!
Это все:)
источник
Я считаю, что вы ищете Refactor> Move. Вы также можете нажать F6.
Вы получите два всплывающих окна. Убедитесь, что вы выбрали переименовать пакет на обоих. После этого вы увидите всплывающее окно с именем нового пакета.
Обратите внимание, что если имя вашего пакета, например, com.example.android.projectname, это позволит вам изменить com.example.android на другое.
Еще одна вещь, это также обновит идентификатор приложения в вашем build.gradle. Просто убедитесь, что флажки «поиск в комментариях и строках» и «поиск текстовых вхождений» установлены для его работы.
источник
Быстрый и простой способ:
1- открыть
MainActivity.java
или любой доступный файл Java.В верхней части находится объявление пакета, например:
выберите часть пакета, которую вы хотите изменить, и нажмите Shift + F6 . Я лично хочу изменить
example
.В диалоговом окне предупреждения выберите « Переименовать пакет», а затем вставьте нужное имя пакета.
2- Откройте
AndroidManifest.xml
и внутри<manifest>
тега изменитеpackage
на желаемое имя пакета.3- откройте
build.gradle(Module: app)
и изменитеapplicationId
на нужное имя пакета.источник
Выберите опцию
Снимите флажок с компактных пустых средних пакетов.
Переименование каталога crl в crl1
Наконец, нажмите на кнопку Do Refactor, отмеченную на изображении ниже, введите код здесь
После внесенных изменений
источник
Пожалуйста, попробуйте следующие шаги:
******* Наконец это сделано ******
источник
Нажмите Ctrl+ Shift+R
Замените старую упаковку новой.
Щелкните правой кнопкой мыши на имени пакета.
Refactor
>Rename
и переименуй в новыйисточник
ctrl+ Shift+ RВсегда работал для меня. Просто
replace all
и выбирайAll Files
.источник
Первая часть состоит в создании нового пакета под
java
папкой и выбрав затем перетащить все исходные файлы изold package
этогоnew package
. После этого вам необходимоremane
указать имя пакета в Androidmanifest
для названия нового пакета.На шаге 2, вот что вам нужно сделать. Вам нужно изменить старое имя пакета в
applicationId
модулеbuild.gradle
вашей андроид-студии в дополнение к изменению имени пакета вmanifest
. Таким образом, в итоге, нажмите наbuild.gradle
который ниже "AndroidManifest.xml" и измените значениеapplicationId
вашего нового имени пакета.Затем на самом верху, под
build
.clean
ваш проект, а затемrebuild
. Это должно быть хорошо отсюда.источник
Лучший способ - написать новое имя пакета и перетащить его из более старого имени пакета.
Второй способ, если вы нажмете Refactor затем переместите опцию, затем переименуете имя пакета, он переименует имя пакета, а затем перестроит.
В Build.gradle вы должны сделать это вручную, если вы выполните Refactor, то он не будет переименовываться в Build.gradle.
источник