ऐप का नाम बदलें रिएक्टिव नेटिव में


91

मैं यह पता लगाने की कोशिश कर रहा हूं कि एक रिएक्टनेटिव ऐप का नाम कैसे बदला जाए। मेरे डिवाइस पर स्थापित एपीके एंड्रॉइड आइकन के साथ बस "ऐप" है। मेरे द्वारा इसे कैसे बदला जा सकता है?

मैंने पैकेज बदलने की कोशिश की है। आगजनी और फिर से प्रतिक्रिया-मूल उन्नयन को चालू करना लेकिन यह AndroidManifest.xml को अपडेट नहीं करता है

जवाबों:


138

जनरेटर strings.xmlमें स्थित फ़ाइल को ओवरराइड नहीं करता है android/app/src/main/res/values/, इसलिए आपको app_nameचर को मैन्युअल रूप से बदलना होगा


यह भी सुनिश्चित करें कि आपके MainActivity में getMainComponentName () आपकी प्रतिक्रिया देशी ऐप नाम देता है। जिसका नाम app.json
जॉन मुरगुरी

6
IOS के बारे में क्या?
अब्द रम्दान

2
प्रतिक्रिया-मूल-नाम स्पष्ट रूप से इस बिंदु
rt_

IOS के बारे में क्या?
मुहम्मद अशफाक

6
प्रतिक्रिया-मूल IOS ऐप प्रदर्शन नाम बदलने के लिए आप 'बंडल डिस्प्ले नाम' को info.plist से बदल सकते हैं
हसन रज़ा

62

प्रतिक्रिया-मूल-नाम बदलने की कोशिश करें यह npm पैकेज प्रक्रिया को कम करेगा

This package assumes that you created your react-native project 
using react-native init.

नोट: यह पैकेज आईओएस / बिल्ड या कोको पोड इंस्टॉलेशन लक्ष्यों जैसे बिल्ड कलाकृतियों का ठीक से नाम बदलने का प्रयास नहीं करता है। अपनी परियोजना का नाम बदलने के बाद, आपको नए नाम के साथ इसे ठीक से चलाने के लिए तीसरे पक्ष की निर्भरता को साफ, निर्माण, और पुन: स्थापित करना चाहिए।

// in project directory

   npx react-native-rename <newName>

6
हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - समीक्षा से
m_callens

1
समस्या का समाधान
पॉल न्यांडो

2
@MikeS। यह एक बुरा अभ्यास नहीं है क्योंकि यह एक परियोजना पर निर्भरता नहीं है, लेकिन एक उपकरण है, और परियोजना निर्भरता के रूप में उन्हें होने वास्तव में एक बुरा अभ्यास है। CRNA की तरह है, आपके पास यह एक वैश्विक उपकरण के रूप में होना चाहिए
गुस्तावो टोपेथ

17
चेतावनी: इस पुस्तकालय का उपयोग न करें। यह आपके प्रोजेक्ट को बर्बाद कर देगा। इसका कभी उपयोग न करें।
MRSafari 10

21
प्रयोग नहीं करें। इस लेखन के रूप में, यह पैकेज पदावनत / अप्राप्त है और आपकी परियोजना को अनुपयोगी बना देगा।
एसवाइएलएल

44

एंड्रॉयड के लिए

App.json फ़ाइल में displayName संशोधित करें

Android / app / src / main / res / values ​​/ strings.xml में app_name संशोधित करें

फिर इन कमांड को एक-एक करके चलाएं

cd android
./gradlew clean
cd ..
react-native run-android

IOS के लिए

प्रोजेक्ट लक्ष्य में प्रदर्शन नाम संशोधित करें (सामान्य टैब)

परीक्षण के लिए प्रोजेक्ट लक्ष्य में होस्ट एप्लिकेशन के रूप में अपनी एप्लिकेशन परियोजना का चयन करें (सामान्य टैब)यहां छवि विवरण दर्ज करें


2
बहुत बहुत धन्यवाद, इसने मेरे लिए कई अन्य समाधानों की कोशिश करने के बाद काम किया
cherucole

1
आप साहब, जीवन रक्षक हैं
जितिन

28

जिस तरह से मैंने इसे एंड्रॉइड के लिए किया था (हैकी, लेकिन यह काम करता है) सिर्फ स्ट्रिंग app_name फ़ील्ड में बदल दिया गया है

एंड्रॉयड / ऐप्स / src / मुख्य / res / values ​​/ strings.xml

यह आपके इंस्टॉल किए गए एंड्रॉइड ऐप का नाम बदल देगा जो आप मूल्य के रूप में डालते हैं।


1
मैं इस विधि की कोशिश की, लेकिन यह मेरी समस्या को हल नहीं किया। जब ऐप मेरे मोबाइल में चला जाता है, तो एक त्रुटि के साथ कहता है "एप्लिकेशन <prev appname> पंजीकृत नहीं किया गया है"
NIKHIL CM

1
@KlaasNotFound विधि की कोशिश की। सफलतापूर्वक नया बिल्ड अपरोक्ष मिला
NIKHIL CM

मुझे उसी तरह की समस्या मिली जैसे @NIKHILCM के साथ प्रतिक्रिया-मूल 0.56
मर्करी

15

मुझे लगता है कि, यदि आप ऐप नाम और पैकेज नाम दोनों को बदलना चाहते हैं (अर्थात संपूर्ण ऐप का नाम बदलें), तो निम्न चरण इस प्रकार हैं:

  • सुनिश्चित करें कि आपके पास android/और ios/सबफ़ोल्डर में कुछ भी कीमती (गैर-उत्पन्न, मैन्युअल रूप से कॉपी किए गए संसाधन) नहीं है ।

  • फ़ोल्डर android/और ios/फ़ोल्डर दोनों को हटाएँ ।

  • "name"अपने package.jsonनाम को नए नाम में बदलें ।

  • अपने index.android.jsऔर index.ios.js: दोनों में ऐप का नाम बदलेंAppRegistry.registerComponent('NewAppName', () => App);

  • react-native upgradeप्लेटफ़ॉर्म सबफ़ोल्डर को फिर से बनाने के लिए चलाएँ ।

  • यदि आपके पास लिंक किए गए संसाधन (जैसे कस्टम फोंट आदि) हैं तो चलाएं react-native link

  • यदि आपके पास अन्य उत्पन्न संसाधन (जैसे ऐप आइकन) हैं तो उन्हें उत्पन्न करने के लिए स्क्रिप्ट चलाएं (उदाहरण के लिए yo)।

  • अंत में, प्रत्येक डिवाइस पर पुराने ऐप को अनइंस्टॉल करें और नया चलाएं।


7
बस एक नोट: मुझे लगता है कि चरण # 1 होना चाहिए create a repo test branch first
माइक एस।

1
आज तक, इन मुद्दों को कम करने के लिए एक नया npm पैकेज है react-native-git-upgrade। लेकिन मैं इसे इस्तेमाल करके नहीं चला सकता yarn। मेरा प्रोजेक्ट उपयोग नहीं करता है npm, न ही मैं इसे विश्व स्तर पर स्थापित करना चाहता हूं। इसलिए, मेरे विकल्पों का पता लगाने की कोशिश कर रहा हूं। अब तक, react-native-git-upgradeCLI से विफल रहता है
माइक एस।

1
आपके चरणों के लिए बहुत धन्यवाद, मैंने कुछ का अनुसरण किया और यह काम किया
ग्रीको जोनाथन

1
इसके अलावा एक डिबग कुंजीस्टोर क्या करना है stackoverflow.com/a/57438549/5900793
Steffo Dimfelt

1
react-native upgradeअब प्लेटफ़ॉर्म सबफ़ोल्डर उत्पन्न नहीं करता है।
डोगू डेनिज उगुर

12

सबसे पहले:app.json अपनी प्रतिक्रिया-मूल परियोजना निर्देशिका में फ़ाइल खोलें । और, बस displayNameइस फ़ाइल में json गुण का मान बदलें । उदाहरण के लिए:

{
    "name": "SomethingSomething",
    "displayName": "My New App Name"
}

एंड्रॉइड ऐप के लिए:strings.xml फ़ाइल खोलें , <string name="app_name">टैग के मूल्य को अपने नए ऐप नाम में बदलें । उदाहरण के लिए:

<string name="app_name">My New App Name</string>

IOS के लिए: ओपन करें info.plist, <key>CFBundleDisplayName</key>अपने ऐप नाम के बाद मूल्य को बदलें । उदाहरण के लिए:

<key>CFBundleDisplayName</key>
<string>My New App Name</string>

अपने डिवाइस पर स्थापित अपने पिछले ऐप को अनइंस्टॉल करें। Nos का उपयोग प्रोजेक्ट मुख्य निर्देशिका में स्थापित करें , ios फ़ोल्डर निर्देशिका में पॉड स्थापित कमांड चलाएं । अब, बस अपने डिवाइस में एप्लिकेशन इंस्टॉल करें।


अगर मैं बंडल पहचानकर्ता को बदलना चाहता हूं?
ओलिवर डी

@OliverD Android के लिए, Android / app / build.gradle फ़ाइल में एप्लिकेशन ID बदलें और iOS के लिए, iOS प्रोजेक्ट में बंडल पहचानकर्ता बदलें। Google साइन इन, फेसबुक साइन इन इत्यादि के मामले में अपने तृतीय-पक्ष खातों को फिर से कॉन्फ़िगर करना न भूलें
राहुल रस्तोगी

11

आप किसी भी बात अपने Android फ़ोल्डर में कीमती नहीं है, तो आप फिर से चलाने के फ़ोल्डर हटा सकते हैं react-native upgradeतो react-native android। ये आवश्यक फ़ाइलों और फ़ोल्डरों के साथ AndroidManifest.xml को फिर से बनाएंगे। (विंडोज 10 में 0.18 पर कोशिश की गई)


MacOS सिएरा पर भी काम करता है।
प्रशांत घिमिरे

10

यदि आप केवल Android के लिए पूछ रहे हैं यहाँ समाधान है

फ़ाइल displayNameमें संशोधित करें/app.json

संशोधित app_nameमेंandroid/app/src/main/res/values/strings.xml

फिर इन कमांड को एक-एक करके चलाएं

cd android
gradlew clean
cd ..
react-native run-android

मैं कैसे प्रतिक्रिया-मूल को बाहर निकाल nameसकता हूं और यह कहता है कि मुझे इसे परिभाषित करना चाहिए app.jsonलेकिन मेरे पास है?
श्री-कार्यक्रम

यह त्रुटि का कारण बनेगा: Invariant vilation: xxxAPP पंजीकृत नहीं किया गया है। (xxxAPP पुराने ऐप का नाम था)
tess hsu

7

Android के लिए android / app / src / main / res / values ​​/ strings.xml My Android App

आईओएस के लिए बस इसे एक्सकोड में खोलें प्रोजेक्ट टैब सामान्य का चयन करें बस नाम बदलें।


3

बस में <string name="app_name"> 'NEW_APP_NAME' </string> स्थित परिवर्तन

[Project_dir] /android/app/src/main/res/values/strings.xml

नोट: की सिफारिश की

प्रतिक्रिया देशी-नाम बदलने

पॉल Nyondo द्वारा शायद MainApplication.java फ़ाइल को प्रभावित करते हैं, यह उपयोग नहीं करते हैं!


सहमत, मैं isntall प्रतिक्रिया-मूल-नाम था और यह एपीपी में एक और समस्या करता है
tess hsu

2

आप यह कोशिश कर सकते हैं

  1. नए नाम में app.json में displayName अपडेट करें
  2. Ios / और android / निर्देशिका हटाएँ
  3. प्रतिक्रिया-मूलक निष्कासन चलाएँ
  4. प्रतिक्रिया-मूल लिंक चलाएँ

2
यदि ०. 0.6 ऊपरी ०.१ से अधिक है तो इजेक्ट काम नहीं कर रहा है, इसलिए कमांड शो एरर: एरर अनकॉन्ग्रेटेड कमांड "इजेक्ट"।
tess hsu

2

ऐप का नाम बदलने से पहले अपने कोड का बैकअप प्राप्त करें और फिर, निम्नलिखित पथ पर जाएं और अपने ऐप का नाम नए ऐप नाम से बदलें और मैं एक और फ़ाइल ऐप बदलूं। Json E: *** \ android \ app \ src \ main \ res \ मूल्यों \ strings.xml

<resources>
    <string name="app_name">New Name</string>
</resources>

app.json

{
  "name": "oldName",
  "displayName": "New Name"
}

2

बस तरीका है

परियोजना> Android> एप्लिकेशन> मुख्य> Res> शैली

फिर ऐप का नाम बदलें


1

सबसे पहले नोड मॉड्यूल सहित परियोजना का एक पूरा बैकअप बनाएं (भविष्य में माउस / फोटो को पुनर्स्थापित करने के लिए)।

  1. नया नाम और ऐप में अपडेट करें। नया नाम देखें
  2. ऐप के नाम के समान ही ऐप फ़ोल्डर का नाम बदलें
  3. Ios / और android / निर्देशिका हटाएँ
  4. ndoe मॉड्यूल हटाएं
  5. पैकेज में अपडेट नाम। json (आपको अपने कोड में आयात और आवश्यकता के लिए नए नाम का उपयोग करना होगा। उदाहरण के लिए: 'NewAppName / src / api' से {x} आयात करें)
  6. चौकीदार watch-del-all
  7. rm -rf / tmp / haste-map-reaction-native-packager- *
  8. rm -rf / tmp / metro-bundler-cache- *
  9. पीसी को पुनरारंभ करें
  10. sudo npm स्थापित करें
  11. प्रतिक्रिया-मूलक बेदखल करना
  12. माउस / छवियों को पुनर्स्थापित करें
  13. प्रतिक्रिया-मूल लिंक
  14. पीसी को पुनरारंभ करें
  15. रन ऐप सावधानी: आपको चीजों को मैन्युअल रूप से सेटअप करना पड़ सकता है। मेरे मामले में स्पलैशस्क्रीन

बहुत जटिल नहीं सरल
आरिफ हिदायत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.