Як ви перейменовуєте пакунки в новій Android Studio IDE на базі IntelliJ IDEA?
Чи включений автоматичний рефакторинг?
Я хочу зробити масовий рефакторинг, але не знаю як. Я працював два роки з Eclipse, і в Eclipse це операція одним клацанням.
Як ви перейменовуєте пакунки в новій Android Studio IDE на базі IntelliJ IDEA?
Чи включений автоматичний рефакторинг?
Я хочу зробити масовий рефакторинг, але не знаю як. Я працював два роки з Eclipse, і в Eclipse це операція одним клацанням.
Відповіді:
Наприклад, якщо ви хочете змінити com.example.app
до my.awesome.game
, то:
На панелі проектів натисніть на маленький значок шестірні ( )
Uncheck / De-виберіть Compact Empty Middle Packages
опцію
Ваш каталог пакунків тепер буде розбитий в окремих каталогах
Індивідуально виберіть кожен каталог, який ви хочете перейменувати, і:
Refactor
Rename
Rename Package
Перейменувати каталогcom
в Android Studio це може попередити. У такому випадку виберіть Перейменувати всіТепер відкрийте файл Gradle Build File ( build.gradle
- як правило, app
або mobile
). Оновлення applicationId
в defaultConfig
вашу новому імені пакет і синхронізації 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. Виберіть параметр Project у лівому меню Android Studio
Крок 2 : Клацніть правою кнопкою миші на java та додайте новий пакет та встановіть потрібну назву пакета
Крок 3 : Введіть нове ім'я пакета
Крок 4 : Скопіюйте всі файли зі свого старого пакету та вставте новий пакет
Крок 5 : Перейменуйте ім'я пакета у файл маніфесту
Крок 6 : Перейменуйте ім'я пакета у файл build.gradle
Крок 7 : Потім клацніть правою кнопкою миші старий пакет і видаліть його з усіма його даними, а також видаліть цей каталог
Крок 8 : Потім відновіть свій проект
Крок 9 : Потім ви знайдете деякі помилки старого імені імпорту пакета у своєму проекті Виберіть ім'я старого пакета у будь-якому файлі та натисніть CTRL + Shift + R , а введіть нове ім'я пакета у поле заміни, потім натисніть клавішу find
Крок 10 : Потім з'являється спливаюче вікно, як показано нижче, і виберіть з нього опцію Усі файли
Крок 11 : Повторно відновіть проект, змінивши назву пакета проекту :)
Розмістіть курсор у назві пакета, як показано нижче. Не вибирайте його, просто розмістіть його.
Потім натисніть Shift+, F6ви отримаєте спливаюче вікно, як показано нижче, виберіть Перейменувати пакет .
Введіть нове ім’я та виберіть Refactor . (Зверніть увагу, оскільки мій курсор увімкнено "щось", лише щось перейменовано.)
Ось і зроблено.
Клацніть правою кнопкою миші пакет на панелі проектів .
У контекстному меню виберіть Refactor -> Rename.
Відкрийте файл:
додаток → маніфести → AndroidManifest.xml
Виділіть кожну частину у назві пакета, яку ви хочете змінити (не виділяйте всю назву пакета), а потім:
Виконайте ці дії в кожній частині назви пакета.
Відкрити (сценарій Gradle) >> (build.gradle (Modul: додаток))
і оновіть applicationId до імені вашого пакета
Відкрийте меню (побудова) та виберіть (Перебудувати проект).
IntelliJ IDEA має опцію "Компактні порожні середні пакети". Виберіть піктограму опції на вкладці Проект та відключіть її.
Див.: Як я можу змінити ім'я пакета верхнього рівня в IntelliJ IDEA?
Виберіть пакет, який буде відновлено. Refactor → Move → "Перемістити ххх до нового пакету" .
Я бачив відповіді, проголосовані вгорі, але я виявив, що це зробити трохи інше, я намагаюся зробити найповніший підручник.
У студії Android натисніть на значок шестірні ( ) і виберіть опцію:, "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.hello.world.PackageInfo1.java com.hello.world.PackageInfo2.java
потім переробляйте їх, переміщуючи їх відповідно до com і com.hello. Ви побачите com та com.hello, що сидять там у проекті ( Alt+1
або Command+1
для ярлика), а перейменування каталогів рефакторинг чекає там, як ви очікували.
Refactor перейменувати один або кілька цих каталогів, щоб досягти вашої мети. Єдине, що ви повинні тут помітити, - це вибирати каталоги, а не пакети, коли у вас з'явиться діалог.
Якщо у вас багато занять у вашому проекті, вам знадобиться певний час, щоб зачекати на його автоматичне сканування та перейменування.
Крім того, вам потрібно перейменувати назву пакета всередині 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, і тут, коли ви рефактор, змініть його на Перейменований . Це буде працювати завжди.
Я знайшов інший спосіб, який працює або додатковий крок до деяких відповідей тут, особливо якщо ви також хочете змінити домен. Він працює в Android Studio 1.4. Ось що я зробив:
build.gradle
файл програми та змініть ідентифікатор програми в defaultConfig на те саме ім'я, що і в маніфесті, та відновіть проект.Так, наприклад, якщо ви хочете перейменувати "com.example.app" на "com.YourDomain.app", відкрийте файл під пакетом, який слід перейменувати, у сухарях пакета встановіть курсор на "приклад" частини домену і натисніть Shift+ F6та перейменуйте пакет у "YourDomain".
Ім'я вашого пакета буде змінено з усіх файлів Java та файлу маніфесту. Вам потрібно вручну змінити назву пакета з build.gradle
.
Змініть назву пакета
Щоб перейменувати назву пакета, все, що вам потрібно зробити, - це перейти до свого AndroidManifest.xml
файлу, поставити курсор миші перед частиною назви пакета, яку ви хочете змінити.
Клацніть правою кнопкою миші> Refactor> Перейменувати
У новому вікні натисніть Перейменувати пакет
Змініть ім'я та натисніть 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
перейменувати приклад на Android
підтвердити do refactor
Клацніть правою кнопкою миші на пакет -> рефактор та змініть ім'я.
Ви також можете змінити це в маніфесті. Іноді, якщо ви зміните ім'я пакета, але після створення .apk-файла, він відображає іншу назву пакета. У цей час перевірте "applicationId" у файлі build.gradle .
Рекомендую використовувати піднесений текст (або Блокнот ++) ). Замініть 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 і ... \ Проекти \ MyProject \ app \ src \ androidTest \ java \ com \ one \ прізвище!
Це все:)
Це я вважаю, що ви шукаєте: Refactor> Move. Ви також можете натиснути F6.
Ви отримаєте два спливаючих вікна. Переконайтесь, що ви вибрали перейменувати пакет на обох. Після цього ви отримаєте спливаюче вікно, щоб розмістити нову назву пакета.
Зауважте, що якщо назва вашого пакета, наприклад, com.example.android.projectname, це дозволить вам змінити com.example.android на щось інше.
Ще одна річ, це також оновить applicationId у вашому build.gradle. Просто переконайтесь, що прапорці "пошук у коментарях та рядках" та "пошук текстових подій" встановлені як працездатні.
Швидкий і простий спосіб:
1- відкрити MainActivity.java
чи будь-який доступний файл Java.
Угорі є декларація про упаковку, наприклад:
пакет ком.
example
.myapp;
виберіть частину пакету, яку потрібно змінити, і натисніть Shift + F6 . Я особисто хочу змінити example
.
У діалоговому вікні попередження виберіть Перейменувати пакет та вставте потрібну назву пакета.
2- Відкрийте AndroidManifest.xml
і всередині <manifest>
тегу змініть package
на потрібну назву пакета.
3- відкрийте build.gradle(Module: app)
та змініть applicationId
на потрібну назву пакета.
Спробуйте виконати наступні дії:
******* Нарешті це зроблено ******
ctrl+ Shift+ Rзавжди працював на мене. Просто replace all
і вибирайте All Files
.
Перша частина полягає у створенні нового пакета під java
папкою та вибору, а потім перетягуванні всіх вихідних файлів із цього old package
до цього new package
. Після цього вам потрібно ввести remane
ім'я пакета в android manifest
до назви нового пакета.
На кроці 2, ось що вам потрібно зробити. Вам потрібно змінити стару назву пакета applicationId
під модулем build.gradle
у вашій андроїд-студії, а також змінити назву пакета в manifest
. Отже, підсумовуючи, натисніть на build.gradle
який знаходиться нижче "AndroidManifest.xml" та змініть значення applicationId
вашого нового імені пакета.
Потім, в самому верху, під build
. clean
ваш проект, значить rebuild
. Звідси повинно бути добре.
Найкращий спосіб - написати нове ім'я пакета та перетягнути його зі старої назви пакета.
Другий спосіб, якщо натиснути Рефактор потім перемістити опцію, а потім перейменувати ім'я пакета, він перейменовано ім'я пакета і потім відновить.
У Build.gradle ви повинні робити вручну, якщо ви Refactor, він не буде перейменований у Build.gradle.