重命名 React 本机项目?

是否有说明需要更改哪些内容才能重命名 React 本机项目?我有一个类似于 MyAppIOS 的应用程序,我想把它重命名为 MyApp (现在已经不支持 Android 了)

101676 次浏览

The way I did this for android (hacky, but it works) is just changed the string app_name field in

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

It will change the name of your installed android app to whatever you put as the value.

You can change the name attribute in package.json, run react-native upgrade, and just let react overwrite the android/ios files. Don't overwrite your index files if there is unsaved code, however.

Then change your Appregistry line from

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

To:

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

For iOS, the way to change xcodeproj settings is also available.

Show <your app name> -> Info.plist and add Bundle display name.

changing iOS app name:

enter image description here

As mentioned here (https://github.com/facebook/react-native/issues/4227), you don't need to add a Bundle display name key, as said by @janus_wel.

You can simply update Bundle name from $(PRODUCT_NAME) to My App.

What simply works for me several times is instructed below;

  • First copy the directory which your to-be-name-changed application exists. And go to your newly cloned directory.
  • Change the name at index.ios/android.js file which is given as a parameter to AppRegistry.
  • Change the name and version accordingly on package.json
  • delete /ios and /android folders which are remaining from your older app as well as the app.json file if you have.
  • run $react-native upgrade to generate /ios and /android folders again.
  • run $react-native link for any external dependency.
  • finally run $react-native run-ios or anything you want.

I am probably a bit late, but for the people looking for a solid solution, there is a react-native-rename npm package which can do the magic.

You might also want to check out npm package (react-native-rename):

Usage:

react-native-rename < newName >

It works fine for my project.

  1. Update displayName in app.json to the new name
  2. Delete ios/ and android/ directories in root project
  3. At command line Run:

    react-native eject
    react-native link
    
  1. For IOS app, change in xcodeproj settings is also available.

Open Info.plist file from your project directory/ios/{appname} directory and change Bundle display name.

<key>CFBundleDisplayName</key>
<string>NEW APP NAME</string>
  1. For android app, you can change in android folder of your project directory.

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

open strings.xml file and change you app name in

 <string name="app_name">NEW APP NAME</string>
  • First of all copy the address which your want to-be-name-changed application exists. And go to your newly cloned directory.

  • Replace the name at the index.ios/android.js file which is given as a parameter to AppRegistry.

  • update the name and version accordingly on package.json remove /ios and /android folders which are remaining from your older app and from the

  • run $react-native upgrade to generate /ios and /android folders again. and run $react-native link for any external dependency.

  • finally, run $react-native run-ios or else.

In-Case None of solution worked for you or trying something broke your app. This is going to basics.

  1. Init a new react-native project with whatever name you want to change your app to.
  2. Copy Dependency list from your previous project to new one's package.json
  3. Copy old project files, make sure of keeping the same structure.
  4. Run npm install
  5. Run react-native run-android

This should get you back on track

Rename react-native app with just one command react-native-rename

Installation

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

Usage run the below command in the project's directory.

react-native-rename <newName>

Example:

react-native-rename "Travel App"

The following steps must be followed while renaming Project/app in react Native 1. create a new folder test

  1. Copy and paste all files from demo to test folder

  2. Change the name in package.json file

  3. Change the name in package-lock.json file

  4. Change the name in App.json file

  5. Delete /ios and /android folders

  6. Run react-native eject command to create /ios and /android folders again

  7. run react-native link for any external dependency.

  8. finally run your app by using react-native run-android command.

Form more information visit https://youtu.be/_lgH9LXf818

The easiest way for android application is to navigate to /android/app/src/main/res/values You will see file strings.xml

Inside the file you would see.

<resources>
<string name="app_name">{YOUR NEW NAME}</string>
</resources>

If you are using vs code, then it is much easier and works really fine.

1)Open your project in vs code, goto search tab.There are two text inputs, first takes the input which you want to search in all the files in your project (some files and directories are excluded and you can manage them in settings, but that is not needed). The other text input takes the input with which you want to replace the first input in all the files (in simple words, change all occurences).

  1. In the first input field, search for com.<your_package_name>. This is the older name of your project (current name of project which you want to change).

  2. In the second input field, enter com.<new_package_name> and press the replace button (small icon button on the right side of 2nd input field). It will replace all the occurences of the older package name thus renaming the project.

{Repeat the above two steps with <your_package_name> only too}

  1. Now goto android>app>src>main>java>com>older_package_name .Rename the older_package_name to the new package name and you are done.

  2. cd android && ./gradlew clean && cd ...

  3. And you are done. Run npx react-native run-android to test the app.