Перейменування проекту React Native?


82

Чи є інструкції щодо того, що потрібно змінити, щоб перейменувати проект React Native? У мене є програма, що називається якось на зразок MyAppIOS, і я хочу перейменувати її просто на MyApp (тепер, коли підтримка Android вийшла)

Відповіді:


65

Те, як я це зробив для android (хакі, але це працює), просто змінило рядок у полі app_name у

android/app/src/main/res/values/strings.xml

Це змінить назву встановленого додатка для Android на те, що ви вказали як значення.


1
Більшість повинні взяти це, але просто FYI ця відповідь призначена ТІЛЬКИ для Android .
chapeljuice

84

Ви можете змінити атрибут name package.json, запустити react-native upgradeі просто дозволити реакції перезаписати файли android / ios. Однак не перезаписуйте файли індексу, якщо є незбережений код.

Потім змініть лінію Appregistry з

AppRegistry.registerComponent('MyAppIOS', () => MyAppIOS);

Кому:

AppRegistry.registerComponent('MyApp', () => MyApp);

1
Мені також довелося перейменовувати головний клас відповідно: клас MyApp розширює Компонент {.... і т. Д.
За запитаним Аронсон

4
це не видаляє старі файли MyAppIOS, тому ви також захочете зробити: $ rm -rf android/app/src/main/java/com/myappios && rm -rf ios/MyAppIOS*
Ніл Саркар

6
Я думаю, що це react-native upgradeтакож оновить вашу рідну реакцію, будьте обережні, оскільки це може щось порушити з вашими залежностями.
Herlon Aguiar

Ми знайшли ряд додаткових кроків, розкиданих по мережі - опублікували повний список (і приймаємо запити на витяг!) За адресою: github.com/2MR/renaming-a-react-native-project
Freewalker

42

Те, що просто працює у мене кілька разів, описано нижче;

  • Спершу скопіюйте каталог, в якому існує ваша програма, яку слід змінити. І перейдіть до вашого недавно клонованого каталогу.
  • Змініть ім'я index.ios/android.jsфайлу, який задано як параметр, на AppRegistry.
  • Змініть назву та версію відповідно до package.json
  • видалити /iosта /androidпапки, які залишились у вашій попередній програмі, а також app.jsonфайл, якщо у вас є.
  • запустіть $react-native upgradeдля створення /iosта /androidпапок знову.
  • запустити $react-native linkна будь-яку зовнішню залежність.
  • нарешті запустити $react-native run-iosабо що завгодно.

1
У новіших версіях рідної реакції ви також змінили значення в app.json, якщо я правильно пам’ятаю.
Крістофер Бредшоу,

4
Так, здається, що після 0,41 реагувати рідним пропонують офіційний спосіб повторного створення власних папок /iosі /android. Більше можна було перевіритиreact-native eject
milkersarac

Хороше джерело: medium.com/the-react-native-log/…
gusgard

27

Для iOS також доступний спосіб зміни налаштувань xcodeproj.

Показати <назву вашого додатка> -> Info.plist та додати відображуване ім’я Bundle .

зміна назви додатка iOS:

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



8
  1. Оновіть displayName у app.json до нового імені
  2. Видаліть каталоги ios / та android / у кореневому проекті
  3. У командному рядку Виконати:

    react-native eject
    react-native link 
    

7

Можливо, ви також захочете перевірити пакет npm ( response-native-rename ):

Використання:

реагувати-рідне-перейменувати <новеНазви>

Це добре працює для мого проекту.


У моєму додатку ця команда видаляє мої файли Java під android / app / src / main / java / com / appname!
Джонсі,

ПОПЕРЕДЖЕННЯ: Не використовуйте цю бібліотеку. це зіпсує ваш проект. Ніколи не використовуйте це.
MRSafari,

6

Ви можете використовувати react-native-renameпакет npm.

npm install react-native-rename
react-native-rename [newName]

https://www.npmjs.com/package/react-native-rename


1
Посилання на рішення вітається, але будь ласка, переконайтесь, що ваша відповідь корисна без нього: додайте контекст навколо посилання, щоб ваші однодумці мали певне уявлення, що це таке і чому воно є, а потім цитуйте найбільш відповідну частину сторінки, яку ви хочете повторне посилання на випадок, якщо цільова сторінка буде недоступна. Відповіді, які є лише кількома посиланнями, можуть бути видалені.
Філнор

Крім того, вам слід писати свої відповіді лише англійською мовою, оскільки це веб-сайт, який є лише англійською. Для португальської мови, будь ласка, перейдіть на сторінку pt.stackoverflow.com
Філнор

3
ПОПЕРЕДЖЕННЯ: Не використовуйте цю бібліотеку. це зіпсує ваш проект. Ніколи не використовуйте це.
MRSafari,

@MRSafari -1, Відмінно спрацював для мене на звільненому (не виставковому) проекті
Кріс

@MRSafari Ось чому існує git?
iRohitBhatia

5

Спробуйте використовувати react-native-renameбібліотеку з npm. Працює як шарм


1
Це справді коментар, а не відповідь. Отримавши достатню репутацію, ви зможете коментувати будь-яку публікацію ; натомість надайте відповіді, які не вимагають роз’яснень від запитувача .
Peacetype

5
  1. Для програми IOS також доступна зміна налаштувань xcodeproj.

Відкрийте Info.plistфайл із directory/ios/{appname}каталогу вашого проекту та змініть відображуване ім’я набору.

<key>CFBundleDisplayName</key>
<string>NEW APP NAME</string>
  1. Для програми для Android ви можете змінити папку android у каталозі проекту.

    cd android/app/src/main/res/values/

відкрити strings.xmlфайл і змінити назву програми в

 <string name="app_name">NEW APP NAME</string>

4

Як вже згадувалося тут ( https://github.com/facebook/react-native/issues/4227 ), вам не потрібно додавати Bundle display nameключ, як сказав @janus_wel.

Ви можете просто оновити Bundle nameз $(PRODUCT_NAME)до My App.


Це єдине рішення, яке спрацювало для мене. Я додав налаштування збірки під назвою CUSTOM_DISPLAY_NAME (для підтримки різних назв додатків для налагодження та випуску), а потім просто оновив, Bundle nameщоб бути$(CUSTOM_DISPLAY_NAME)
Кевін Купер

1
  • Перш за все скопіюйте адресу, на якій існує ваша програма, яку потрібно змінити. І перейдіть до вашого недавно клонованого каталогу.

  • Замініть ім'я у файлі index.ios / android.js, який задано як параметр AppRegistry.

  • оновіть ім’я та версію відповідно до package.json видалення папок / ios та / android, які залишились у вашому попередньому додатку та в

  • запустіть $ -реактивне оновлення, щоб знову генерувати папки / ios та / android. та запустіть посилання $ response-native для будь-якої зовнішньої залежності.

  • нарешті, запустіть $ response-native run-ios або ще.


1

На випадок, жодне з рішень не працювало для вас або спроба щось зламати вашу програму. Це збирається до основ.

  1. Створіть новий реактивний проект з будь-якою назвою, на яку ви хочете змінити свій додаток.
  2. Скопіюйте список залежностей із вашого попереднього проекту на new's package.json
  3. Скопіюйте старі файли проекту, переконайтесь, що збережено однакову структуру.
  4. Біжи npm install
  5. Біжи react-native run-android

Це повинно повернути вас на правильний шлях


0

Рішення, яке спрацювало для мене, це спочатку змінити назву папки вашого рідного проекту, а потім

npm install react-native-rename

react-native-rename newName

Це працює для мене


0

Перейменуйте додаток response-native за допомогою лише однієї команди response-native-rename

Встановлення

yarn global add react-native-rename або npm install react-native-rename -g

Використання запустіть наведену нижче команду в каталозі проекту.

react-native-rename <newName>

Приклад:

react-native-rename "Travel App"


0

Під час перейменування Project / app у response Native 1. необхідно виконати наступні кроки

  1. Скопіюйте та вставте всі файли з демонстрації в тестову папку

  2. Змініть ім'я у файлі package.json

  3. Змініть ім'я у файлі package-lock.json

  4. Змініть ім’я у файлі App.json

  5. Видаліть папки / ios та / android

  6. Запустіть команду реагувати на рідне вилучення, щоб знову створити папки / ios та / android

  7. запустити рідне посилання для будь-якої зовнішньої залежності.

  8. нарешті, запустіть свою програму за допомогою команди реагувати на рідний запуск-android.

Додаткову інформацію можна отримати на веб-сторінці https://youtu.be/_lgH9LXf818

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