重命名React Native项目?


82

是否有说明需要更改哪些内容以重命名React Native项目?我有一个名为MyAppIOS的应用程序,我想将其重命名为MyApp(现在已经不再支持Android)

Answers:


65

我为Android执行此操作的方式(hacky,但它可以工作)只是更改了字符串中的app_name字段

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

它将更改已安装的android应用的名称为您输入的值。


1
大多数人应该对此有所了解,但仅供参考,此答案仅适用于ANDROID
chapeljuice17年

84

您可以在package.json,运行react-native upgrade和中更改name属性,然后让react覆盖android / ios文件。但是,如果有未保存的代码,请勿覆盖索引文件。

然后从更改您的Appregistry行

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

至:

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

1
我还必须相应地重命名主类:类MyApp扩展了Component {....等
Per Quested Aronsson

4
这不会删除旧的MyAppIOS文件,因此您也想这样做: $ rm -rf android/app/src/main/java/com/myappios && rm -rf ios/MyAppIOS*
Neil Sarkar

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
如果我没记错的话,较新版本的react native还可以更改app.json中的值。
Christopher Bradshaw

4
是的,似乎0.41之后react-native提供了重新生成本机文件夹/ios和的正式方法/android。如需更多信息,请查看react-native eject
milkersarac


27

对于iOS,还提供了更改xcodeproj设置的方法。

显示<您的应用程序名称>-> Info.plist并添加Bundle显示名称

更改iOS应用名称:

在此处输入图片说明




7

您可能还想签出npm软件包(react-native-rename):

用法:

react-native-rename <newName>

对于我的项目来说效果很好。


在我的应用程序中,此命令删除android / app / src / main / java / com / appname下的java文件!
约翰西

警告:请勿使用此库。它将破坏您的项目。永远不要使用这个。
MRSafari

6

您可以使用react-native-renamenpm软件包。

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

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


1
欢迎使用指向解决方案的链接,但是请确保没有该链接的情况下您的回答是有用的:在该链接周围添加上下文,以便您的其他用户可以了解它的含义和含义,然后引用您所使用页面中最相关的部分如果目标页面不可用,请重新链接。只是链接的答案可能会被删除。
Filnor

另外,您应该只用英语写答案,因为这是一个仅英语的网站。对于葡萄牙语,请访问pt.stackoverflow.com
菲尔诺,

3
警告:请勿使用此库。它将破坏您的项目。永远不要使用这个。
MRSafari

@MRSafari -1,在弹出(非展览)项目上对我来说工作正常
Chris Sherriff

@MRSafari这就是为什么有git吗?
iRohitBhatia


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)
Kevin Cooper

1
  • 首先复制您要更改名称的应用程序存在的地址。并转到您新克隆的目录。

  • 替换index.ios / android.js文件中的名称,该名称作为AppRegistry的参数提供。

  • 在package.json上相应地更新名称和版本。从您较旧的应用程序和

  • 运行$ react-native upgrade再次生成/ ios和/ android文件夹。并为任何外部依赖项运行$ react-native链接。

  • 最后,运行$ react-native run-ios或其他命令。


1

案例解决方案对您没有帮助,也无法尝试破坏您的应用程序。这是基础知识。

  1. 使用您想要将应用程序更改为的任何名称来初始化一个新的react-native项目。
  2. 将依赖项列表从以前的项目复制到新项目的package.json
  3. 复制旧项目文件,确保保持相同的结构。
  4. npm install
  5. react-native run-android

这应该让您重回正轨



0

只需一个命令即可将react-native应用重命名为react-native-rename

安装

yarn global add react-native-rename 要么 npm install react-native-rename -g

用法在项目目录中运行以下命令。

react-native-rename <newName>

例:

react-native-rename "Travel App"


0

在React Native 1.中重命名Project / app时,必须遵循以下步骤:创建新文件夹测试

  1. 将所有文件从演示复制并粘贴到测试文件夹

  2. 更改package.json文件中的名称

  3. 更改package-lock.json文件中的名称

  4. 更改App.json文件中的名称

  5. 删除/ ios和/ android文件夹

  6. 运行react-nativeject命令再次创建/ ios和/ android文件夹

  7. 对任何外部依赖项运行react-native链接。

  8. 最后使用react-native run-android命令运行您的应用。

欲了解更多信息,请访问https://youtu.be/_lgH9LXf818

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.