Повністю змініть назву пакета, включаючи домен компанії


82

Давайте припустимо , що це ім'я пакета: package com.company.name. Як мені змінити company?

PS Я бачив, як змінити, nameале ні company. Я використовую Android Studio.


я почав складати проект, і мені потрібно змінити companyслово на інше, оскільки цей проект призначений для компанії. а навіщо використовувати клавішу видалення ?? де?
Філіп Лук'яненко


Просто створіть новий пакет, потім виберіть класи, які ви хочете перемістити, потім перетягніть його в новий створений пакет, потім рефакторируйте, ця робота для мене
Manee.OH

Відповіді:


48

Ви можете зробити це:

Змініть ім'я пакета вручну у файлі маніфесту. Клацніть на свій клас R.java та натисніть F6 (Refactor-> Move ...). Це дозволить вам перенести клас в інший пакет, і всі посилання на цей клас будуть оновлені.

посилання: Як перейменувати ім'я пакета Android?


50

поточний пакет: com.company.name

Новий пакет: com.mycomapny.name

Кроки: 1) Припустимо, ви знаходитесь на цьому екрані, який показано нижче.

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

2) Відкрийте панель проекту та натисніть на піктограму налаштувань.

3) Скасуйте вибір компактних порожніх середніх пакетів.

4) Тоді ваш пакет тепер розбивається на окремі частини, як показано нижче.

5) клацніть правою кнопкою миші на "компанія", виберіть Refactor -> виберіть rename -> rename directory.

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

6) Тепер ваша "компанія" була змінена на нову "mycomapny", і зміни були відображені, як показано на малюнку нижче.

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

7) Тепер змініть назву пакета у файлі AndroidManifest.xml.

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

8) Відкрийте build.gradle на рівні програми та змініть назву пакета.

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

9) ви отримаєте помилки, оскільки не вдається вирішити символ "R".

10) Видаліть рядок, що видає цю помилку, і студія автоматично імпортує новий файл R.

11) Якщо у вас кілька файлів, скористайтеся опцією пошуку та заміни, натиснувши "Cntrl + Shift + R"

Або "Виберіть Редагувати-> Знайти-> Замінити у шляху .."

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

12) виберіть Замінити все.


31

Це спрацювало для мене з https://stackoverflow.com/a/18637004/127434

Ще одним хорошим методом є: Спочатку створіть новий пакет із потрібною назвою, клацнувши правою кнопкою миші папку java -> new -> package.

Потім виберіть і перетягніть усі свої класи до нового пакету. AndroidStudio буде переробляти назву пакету скрізь.

Нарешті, видаліть старий пакет.


Це частково спрацювало для мене, але не виправило твердження "import com.company.foo". Я зміг зробити останнє за допомогою глобальної заміни в каталозі src /.
LarsH

9

В Android Studio ви можете зробити так:

Наприклад, якщо ви хочете змінити com.example.app на iu.awesome.game, тоді:

  1. На панелі проекту натисніть на маленький значок шестірні ( введіть тут опис зображення)
  2. Зніміть / зніміть прапорець біля пункту Compact Empty Middle Packages введіть тут опис зображення
  3. Тепер ваш каталог пакунків буде розбитий на окремі каталоги
  4. Окремо виберіть кожен каталог, який потрібно перейменувати, та:

    • Клацніть правою кнопкою миші
    • Виберіть Рефактор

    • Клацніть на Перейменувати

    • У спливаючому діалоговому вікні натисніть кнопку Перейменувати пакет замість Перейменувати каталог

    • Введіть нову назву та натисніть Refactor

    • Натисніть Do Refactor внизу

    • Дозвольте хвилині дозволити Android Studio оновити всі зміни

    • Примітка. Під час перейменування com в Android Studio це може дати попередження. У такому випадку виберіть Перейменувати всіхвведіть тут опис зображення

      1. Тепер відкрийте файл збірки Gradle (build.gradle - Зазвичай додаток або мобільний). Оновіть applicationId у defaultConfig до нового імені пакета та синхронізації Gradle, якщо воно ще не оновилося автоматично:введіть тут опис зображення

      2. Можливо, вам доведеться змінити атрибут package = у вашому маніфесті.

      3. Очистити та відновити.

      4. Готово! У будь-якому випадку, Android Studio повинна зробити цей процес дещо простішим.


8

Рішення @Luch Filip добре працює, якщо ви просто хочете перейменувати пакет App. У моєму випадку я також хочу перейменувати вихідний пакет, щоб не плутати речі.

Потрібно лише 2 кроки:

  1. Клацніть на вихідну папку, наприклад com.company.example> Shift + F6 (Рефактор-> Перейменувати ...)> Перейменувати пакет > введіть потрібне ім'я.

  2. Перейдіть до свого AndroidManifest.xml, натисніть назву пакета> Shift + F6 (Рефактор-> Перейменувати ...)> введіть те саме ім'я, що і вище.

Крок 1 автоматично перейменовує вашу папку R.java, і ви можете відразу створювати.


Все добре, за винятком того, що я отримую "IOException: не вдається перейменувати (...)" для основної вихідної папки. Простий проект, щойно відкритий.
kaay

1
Я використовую Android studio 2.1.1. Мої конкретні Наприклад, спочатку я маю info.apachehive.cardview, я хочу мати net.vyhn.cardview. Крок 1. Виберіть вихідний код дерева. Крок 2. Клацніть apachehive, натисніть Shift + F6 Refactor \ Rename to vyhn. Крок 3. Клацніть infoпапку, натисніть Shift + F6 Refactor \ Rename to net. Файл AndroidManifest.xmlавтоматично змінюється. Потім я запускаю налагодження, моя програма працює добре.
Do Nhu Vy

5

Нижче подано чотири кроки:

  1. Клацніть на папку програми нижче:

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

com.new25.impro. натисніть Shift + F6 {Рефактор-> Перейменувати ...}, щоб перейменувати пакет, і натисніть refactor.

  1. Після цього дивіться монітор Android. Це шоу змінюється скрізь, що ім'я пакета. Клацніть refactor.

  2. Перейдіть до модуля app:changeідентифікатора програми, як вам вказано це ім'я. і натисніть sync now.

  3. Тепер ви можете змінити назву пакета на те, що вам подобається.


2

1) Відкрийте папку проекту в Android Studio.
2) Виберіть папку програми -> Клацніть правою кнопкою миші та виберіть рефактор .
3) Клацніть на переміщення. Він запитає, який тип імені пакета у вас є повне ім'я пакета і він буде просити , щоб створити новий пакет та створити нову автоматично його просити , gradleщоб sync.


Можливо, ви можете додати кілька знімків екрана.
Asim KT

2

Щоб перейменувати ім'я пакета в Android studio, натисніть на значок налаштування в розділі проекту та зніміть прапорець біля компактних порожніх середніх пакетів, після чого пакет поділиться на кілька імен папок, а потім клацніть правою кнопкою миші на папці, яку потрібно змінити, натисніть на рефактор-> Перейменувати-> Введіть ім'я, яке ви хочете змінити -> Рефактор -> Каталог рефакторів, а потім імпортуйте файл R.java в цілому проекті. Працює на мене.


2

Я прочитав майже всі відповіді. Але я думаю, що одного бракує. Іноді я можу помилятися. Я використав наведений нижче спосіб, і він працює.

3 методи зміни назви пакета в Android Studio

  1. Виберіть свій пакет і клацніть правою кнопкою миші , Refactor -> Move .
  2. Виберіть Перемістити пакет із "вашого пакету" в інший пакет і натисніть кнопку Ok.
  3. З'явиться нове діалогове вікно, в якому сказано, що кілька каталогів відповідає пакету "ваш пакет", і натисніть Так .
  4. Введіть нову назву пакета, за винятком останнього рівня або прізвища. Означає Якщо ви хочете перейменувати ім'я пакета на "info.xyz.yourapplication". Потім введіть "info.xyz", залиште лише "Вашезастосування".
  5. Клацніть Refactor .
  6. Нове діалогове вікно " Пакет info.xyz " не існує. Ви хочете його створити ?. Клацніть на Так .
  7. Натисніть Виконати рефакторинг .
  8. Клацніть правою кнопкою миші на новому пакеті, щоб змінити прізвище. Рефактор-> Перейменувати .
  9. Перейменувати пакет
  10. введіть нову назву та натисніть Do refactor .
  11. Видаліть усі старі каталоги пакунків.
  12. Змініть ApplicationId у файлі build.gradle і натисніть на синхронізацію зараз

1
Для мене це найкраща відповідь. Дякую.
Хасан Ель-Хефнаві

1

Якщо домен / назва пакета вашої компанії дуже довгі, це складніше.

Це було для мене відсутньою ланкою. Потрібно вибрати файли проекту -> налаштування ->, а потім зняти прапорець біля пункту "порожні порожні середні класи".


0

Найпростіший спосіб зробити це - перейменувати кореневу папку програми з com.example.MyAppна, com.newcompanyname.MyNewAppNameа потім замінити всі випадки старого шляху на новий шлях в будь-якій IDE, яку ви використовуєте.


0

Я знайшов інше рішення для перейменування пакету у всьому проекті:

Відкрийте файл у пакеті. IntelliJ відображає сухарі файлу над відкритим файлом. На пакунку, який потрібно перейменувати: Клацніть правою кнопкою миші> Рефактор> Перейменувати. Це перейменовує пакет / каталог протягом усього проекту.


0

Я також зіткнувся з тією ж проблемою, і ось як я її вирішив: -

Я хочу змінити ім'я пакета np.com.shivakrstha.userlog на np.edu.khec.userlog

Я вибрав shivakrstha і натиснув Shift + F6 для перейменування Refract і перейменований на khec .

Нарешті, використовуйте те саме ім’я пакету в AndroidManifest.xml , applicationId у build.gradle і не забудьте відновити свій проект .

Примітка: - Я намагався змінити np на jp , тому я вибрав np і натиснув Shift + F6 для Rename Refract та перейменований на jp , нормально змінити і інших.


0

Це може вам допомогти - 1) Відкрийте файл пакету. 2) Android Studio відображає сухарі файлу над відкритим файлом. На пакунку, який потрібно перейменувати: Клацніть правою кнопкою миші> Рефактор> Перейменувати.

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


0

Я не міняв жодної назви пакета. Наступні два кроки спрацювали для мене. Виконавши наступне, додаток було встановлено як НОВЕ, хоча було два додатки з однаковим ім'ям пакета.

1) У build.gradle

applicationId "mynew.mynewpackage.com"

2) В AndroidManifest.xml android: powers = "mynew.mynewpackage.com.fileprovider"


-2

Привіт, я знайшов найпростіший спосіб зробити це.

  1. Створіть новий проект із бажаною назвою пакета
  2. скопіювати всі файли зі старого проекту в новий проект (весь файл у old.bad.oldpackage => new.fine.newpackage, res => res)
  3. скопіювати стару build.graddle всередині нової build.graddle
  4. скопіювати старий маніфест всередині нового маніфесту
  5. Резервне копіювання або просто видалення старого проекту

Готово!


це не найнадійніший спосіб, просто рефакторинг робить свою роботу, уявіть, хтось має більш складний проект, який має стилі, розміри, малюнки, бібліотеки. Цей метод займає багато часу.
Амір Дора.

1
Це надійно, якщо ви дотримуєтесь мого методу поетапно, і це дуже швидко, якщо ви будете слідувати їм. Просто забудьте про будь-яку складність і подумайте, що ви створюєте новий проект із існуючого джерела, тоді, як я бачу, ви не знаєте, де перебувають бібліотеки розмірних розмірів, я поясню вам, тоді вам доведеться проголосувати мою відповідь. 1- Бібліотеки знаходяться у вашій build.graddle, тому, якщо ви створили резервну копію файлу, вам просто потрібно було б скопіювати вміст всередині нової build.graddle 2- малюнки, розміри, стилі знаходяться всередині папки res. так що якщо у вас відкрито обидва / нові (старі) пакети, вам просто потрібно перетягнути / скинути
Martin Jovial

Іноді рефрактограма є більш складною, ніж ви можете собі уявити, тому що я спробував це безуспішно, а потім, використовуючи мій метод, все працювало як шарм
Мартін Джовіал

Так, Мартіне, погодьтеся, це теж один із шляхів, і це працює. Але це не найшвидший метод. Дякую за детальну відповідь.
Амір Дора.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.