Zmieniasz nazwę projektu React Native?

84

Czy istnieją instrukcje dotyczące tego, co należy zmienić, aby zmienić nazwę projektu w React Native? Mam aplikację o nazwie podobnej do MyAppIOS i chcę zmienić jej nazwę na po prostu MyApp (teraz, gdy obsługa Androida jest wyłączona)

Jakiś facet
źródło

Odpowiedzi:

66

Sposób, w jaki zrobiłem to dla Androida (hacky, ale działa), to po prostu zmiana pola app_name w ciągu

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

Zmieni nazwę zainstalowanej aplikacji na Androida na dowolną, którą podasz jako wartość.

httpNick
źródło
1
Większość powinna to zrozumieć, ale po prostu FYI, ta odpowiedź dotyczy TYLKO ANDROIDA .
chapeljuice
84

Możesz zmienić atrybut nazwy w package.json, uruchomić react-native upgradei po prostu pozwolić reagować na nadpisanie plików Androida / iOS. Nie nadpisuj jednak plików indeksu, jeśli istnieje niezapisany kod.

Następnie zmień wiersz Appregistry z

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

Do:

AppRegistry.registerComponent('MyApp', () => MyApp);
denixtry
źródło
1
Musiałem również odpowiednio zmienić nazwę klasy głównej: klasa MyApp rozszerza komponent {.... itd.
Per Quested Aronsson
4
nie powoduje to usunięcia starych plików MyAppIOS, więc będziesz też chciał: $ rm -rf android/app/src/main/java/com/myappios && rm -rf ios/MyAppIOS*
Neil Sarkar,
6
Myślę, że react-native upgradeto również ulepszy twój react-native, bądź ostrożny, ponieważ może to zepsuć coś z twoimi zależnościami.
Herlon Aguiar
Znaleźliśmy szereg dodatkowych kroków rozsianych po całej sieci - opublikowaliśmy pełną listę (i akceptując żądania ściągnięcia!) Na: github.com/2MR/renaming-a-react-native-project
Freewalker
42

Poniżej opisano, co po prostu działa dla mnie kilka razy;

  • Najpierw skopiuj katalog, w którym istnieje aplikacja, która ma zostać zmieniona. I przejdź do nowo sklonowanego katalogu.
  • Zmień nazwę w index.ios/android.jspliku, która jest podana jako parametr na AppRegistry.
  • Zmień odpowiednio nazwę i wersję package.json
  • usuń /iosi /androidfoldery pozostałe ze starszej aplikacji, a także app.jsonplik, jeśli masz.
  • prowadzony $react-native upgradedo generowania /iosi /androidponownie foldery.
  • uruchomić $react-native linkdla dowolnej zależności zewnętrznej.
  • w końcu biegnij $react-native run-ioslub cokolwiek chcesz.
milkersarac
źródło
1
Nowsze wersje React Native wymagają również zmiany wartości w app.json, jeśli dobrze pamiętam.
Christopher Bradshaw
4
Tak, wygląda na to, że po wersji 0.41react-native oferuje oficjalny sposób ponownego generowania natywnych folderów /iosi /android. Po więcej można było sprawdzićreact-native eject
milkersarac
Dobre źródło: medium.com/the-react-native-log/…
gusgard
27

W przypadku iOS dostępny jest również sposób zmiany ustawień xcodeproj.

Pokaż <nazwę aplikacji> -> Info.plist i dodaj nazwę wyświetlaną pakietu .

zmiana nazwy aplikacji na iOS:

wprowadź opis obrazu tutaj

janus_wel
źródło
16

Pewnie trochę się spóźniłem, ale dla osób szukających solidnego rozwiązania jest pakiet npm react-native-rename , który może zdziałać magię.

Denys Mikhalenko
źródło
8
  1. Zaktualizuj displayName w app.json do nowej nazwy
  2. Usuń katalogi ios / i android / w projekcie głównym
  3. W wierszu poleceń Uruchom:

    react-native eject
    react-native link 
    
Mohammadreza Zandi
źródło
7

Możesz również sprawdzić pakiet npm ( React-native-rename ):

Stosowanie:

reak-native-rename <newName>

Działa dobrze w moim projekcie.

CTiPKA
źródło
W mojej aplikacji to polecenie usuwa moje pliki java w android / app / src / main / java / com / appname!
Johncy
OSTRZEŻENIE: Nie używaj tej biblioteki. zrujnuje twój projekt. Nigdy tego nie używaj.
MRSafari
6

Możesz użyć react-native-renamepakietu npm.

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

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

Joao Pedro Leite S Lisboa
źródło
1
Link do rozwiązania jest mile widziany, ale upewnij się, że Twoja odpowiedź jest przydatna bez niego: dodaj kontekst wokół linku, aby inni użytkownicy mieli pojęcie, co to jest i dlaczego się tam znajduje, a następnie zacytuj najbardziej odpowiednią część strony, którą podałeś. ponowne łącze w przypadku, gdy strona docelowa jest niedostępna. Odpowiedzi, które są niewiele więcej niż linkiem, mogą zostać usunięte.
Filnor,
Powinieneś także pisać swoje odpowiedzi tylko w języku angielskim, ponieważ jest to witryna tylko w języku angielskim. W przypadku języka
Filnor
3
OSTRZEŻENIE: Nie używaj tej biblioteki. zrujnuje twój projekt. Nigdy tego nie używaj.
MRSafari
@MRSafari -1, działał dobrze dla mnie przy wyrzuconym (nie wystawianym) projekcie
Chris Sherriff
@MRSafari Dlatego jest git?
iRohitBhatia
5
  1. W przypadku aplikacji IOS dostępna jest również zmiana ustawień xcodeproj.

Otwórz Info.plistplik z directory/ios/{appname}katalogu projektu i zmień nazwę wyświetlaną pakietu.

<key>CFBundleDisplayName</key>
<string>NEW APP NAME</string>
  1. W przypadku aplikacji na Androida możesz zmienić folder Android w katalogu projektu.

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

otwórz strings.xmlplik i zmień nazwę aplikacji w

 <string name="app_name">NEW APP NAME</string>
harpreet cheema
źródło
4

Jak wspomniano tutaj ( https://github.com/facebook/react-native/issues/4227 ), nie musisz dodawać Bundle display nameklucza, jak powiedział @janus_wel.

Możesz po prostu zaktualizować Bundle namez $(PRODUCT_NAME)do My App.

Shivek Khurana
źródło
To jedyne rozwiązanie, które u mnie zadziałało. Dodałem ustawienie kompilacji o nazwie CUSTOM_DISPLAY_NAME (aby obsługiwać różne nazwy aplikacji do debugowania i wydania), a następnie po prostu zaktualizowałem Bundle namena$(CUSTOM_DISPLAY_NAME)
Kevin Cooper
1
  • Przede wszystkim skopiuj adres, pod którym istnieje Twoja aplikacja, która ma zostać zmieniona. I przejdź do nowo sklonowanego katalogu.

  • Zastąp nazwę w pliku index.ios / android.js, który jest podany jako parametr AppRegistry.

  • zaktualizuj odpowiednio nazwę i wersję w pliku package.json usuń foldery / ios i / android, które pozostały ze starszej aplikacji i

  • uruchom aktualizację $ react-native, aby ponownie wygenerować foldery / ios i / android. i uruchom łącze $ react-native dla dowolnej zależności zewnętrznej.

  • na koniec uruchom $ react-native run-ios lub inaczej.

poojagarg
źródło
1

In-Case Żadne z rozwiązań nie zadziałało lub próba zepsuła Twoją aplikację. To prowadzi do podstaw.

  1. Zainicjuj nowy, natywny projekt o dowolnej nazwie, na którą chcesz zmienić swoją aplikację.
  2. Skopiuj listę zależności z poprzedniego projektu do nowego package.json
  3. Skopiuj stare pliki projektu, zachowaj tę samą strukturę.
  4. Biegać npm install
  5. Biegać react-native run-android

To powinno pomóc Ci wrócić na właściwe tory

Sarthak Dwivedi
źródło
0

Rozwiązanie zadziałało dla mnie to najpierw zmień nazwę folderu swojego projektu React-Native

npm install react-native-rename

react-native-rename newName

Mi to pasuje

Akhzar Nazir
źródło
0

Zmień nazwę aplikacji natywnej reagowania za pomocą jednego polecenia reaguj-natywna-zmiana nazwy

Instalacja

yarn global add react-native-rename lub npm install react-native-rename -g

Użycie uruchom poniższe polecenie w katalogu projektu.

react-native-rename <newName>

Przykład:

react-native-rename "Travel App"

Kassem Itani
źródło
0

Podczas zmiany nazwy projektu / aplikacji w React Native należy wykonać następujące kroki. Utwórz nowy test folderu

  1. Skopiuj i wklej wszystkie pliki z demo do folderu testowego

  2. Zmień nazwę w pliku package.json

  3. Zmień nazwę w pliku package-lock.json

  4. Zmień nazwę w pliku App.json

  5. Usuń foldery / ios i / android

  6. Uruchom polecenie eject-native, aby ponownie utworzyć foldery / ios i / android

  7. uruchom łącze natywne reagowania dla dowolnej zależności zewnętrznej.

  8. na koniec uruchom aplikację za pomocą natywnego polecenia react-run-android.

Więcej informacji można znaleźć pod adresem https://youtu.be/_lgH9LXf818

dr Chandra Kant Sharma
źródło