【问题标题】:Renaming a React Native project?重命名 React Native 项目?
【发布时间】:2015-12-26 02:40:42
【问题描述】:

是否有关于重命名 React Native 项目需要更改哪些内容的说明?我有一个类似于 MyAppIOS 的应用程序,我想将其重命名为简单的 MyApp(现在 Android 支持已停止)

【问题讨论】:

    标签: react-native


    【解决方案1】:

    在 react Native 中重命名 Project/app 时必须遵循以下步骤 1.新建文件夹test

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

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

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

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

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

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

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

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

    更多信息请访问https://youtu.be/_lgH9LXf818

    【讨论】:

      【解决方案2】:

      只需一个命令即可重命名 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"

      【讨论】:

        【解决方案3】:

        对我有用的解决方案是首先更改您的 react-native 项目的文件夹名称,然后

        npm install react-native-rename

        react-native-rename newName

        对我有用

        【讨论】:

          【解决方案4】:

          以防万一,没有任何解决方案适合您,或者尝试某些东西破坏了您的应用。这将是基础。

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

          这应该会让你回到正轨

          【讨论】:

            【解决方案5】:
            1. 对于 IOS 应用,也可以更改 xcodeproj 设置。

            从您的项目directory/ios/{appname} 目录中打开Info.plist 文件并更改捆绑显示名称。

            <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>
            

            【讨论】:

              【解决方案6】:

              尝试使用来自 npm 的 react-native-rename 库。像魅力一样工作

              【讨论】:

              【解决方案7】:
              • 首先复制你想要改名的应用程序所在的地址。并转到您新克隆的目录。

              • 将 index.ios/android.js 文件中的名称替换为 AppRegistry 的参数。

              • 在 package.json 上相应地更新名称和版本 删除旧应用和

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

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

              【讨论】:

                【解决方案8】:

                你可以使用react-native-rename npm 包。

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

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

                【讨论】:

                • 欢迎提供解决方案链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及为什么会出现,然后引用最相关的您链接到的页面的一部分,以防目标页面不可用。 Answers that are little more than a link may be deleted.
                • 另外,你应该只用英文写你的答案,因为这是一个只有英文的网站。葡萄牙语请到pt.stackoverflow.com
                • 警告:不要使用这个库。它会毁了你的项目。永远不要使用它。
                • @M.R.Safari -1,在弹出的(非展览)项目上对我来说工作得很好
                • @M.R.Safari 这就是为什么会有 git?
                【解决方案9】:
                1. 将 app.json 中的 displayName 更新为新名称
                2. 删除根项目中的 ios/ 和 android/ 目录
                3. 在命令行运行:

                  react-native eject
                  react-native link 
                  

                【讨论】:

                • 这是一个特定于世博会的答案。它不适用于标准 CRNA 或 react-native init 工作流。
                【解决方案10】:

                您可能还想查看 npm 包 (react-native-rename):

                用法:

                react-native-rename

                它适用于我的项目。

                【讨论】:

                • 在我的应用中,这个命令会删除我在 android/app/src/main/java/com/appname 下的 java 文件!
                • 警告:不要使用这个库。它会毁了你的项目。永远不要使用它。
                【解决方案11】:

                下面说明了对我有用几次的方法;

                • 首先复制你要改名的应用所在的目录 存在。并转到您新克隆的目录。
                • 将作为参数提供的index.ios/android.js 文件中的名称更改为AppRegistry
                • package.json 上相应更改名称和版本
                • 删除旧应用中剩余的 /ios/android 文件夹以及 app.json 文件(如果有)。
                • 运行$react-native upgrade再次生成/ios/android文件夹。
                • 为任何外部依赖运行$react-native link
                • 最后运行$react-native run-ios 或任何你想要的。

                【讨论】:

                • 如果我没记错的话,React Native 的较新版本是否也更改了 app.json 中的值。
                • 是的,似乎在 0.41 之后 react-native 提供了重新生成原生文件夹 /ios/android 的官方方法。更多可以查看react-native eject
                【解决方案12】:

                我可能有点晚了,但是对于寻找可靠解决方案的人来说,有一个 react-native-rename npm 包可以做到这一点。

                【讨论】:

                • 不要使用这个包。请参阅此线程中的许多其他警告 cmets。
                【解决方案13】:

                正如这里提到的 (https://github.com/facebook/react-native/issues/4227),您不需要像 @janus_wel 所说的那样添加 Bundle display name 密钥。

                您可以简单地将Bundle name$(PRODUCT_NAME) 更新为My App

                【讨论】:

                • 这是唯一对我有用的解决方案。我添加了一个名为 CUSTOM_DISPLAY_NAME 的构建设置(以支持不同的应用名称进行调试和发布),然后简单地将 Bundle name 更新为 $(CUSTOM_DISPLAY_NAME)
                【解决方案14】:

                对于 iOS,也可以使用更改 xcodeproj 设置的方式。

                显示 -> Info.plist 并添加 Bundle 显示名称

                更改 iOS 应用名称:

                【讨论】:

                  【解决方案15】:

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

                  然后从

                  更改您的 Appregistry 行
                  AppRegistry.registerComponent('MyAppIOS', () => MyAppIOS);
                  

                  收件人:

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

                  【讨论】:

                  • 我还必须相应地重命名主类:class MyApp extends Component { .... etc.
                  • 这不会删除旧的 MyAppIOS 文件,因此您还需要这样做:$ rm -rf android/app/src/main/java/com/myappios &amp;&amp; rm -rf ios/MyAppIOS*
                  • 我认为react-native upgrade 也会升级您的 react-native,请小心,因为这可能会破坏您的依赖项。
                  • 我们在网络上发现了一些额外的步骤 - 在 github.com/2MR/renaming-a-react-native-project 上发布了完整列表(并接受拉取请求!)
                  【解决方案16】:

                  我为 android 执行此操作的方式(hacky,但它有效)只是更改了

                  中的字符串 app_name 字段

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

                  它会将您安装的 android 应用程序的名称更改为您输入的任何值。

                  【讨论】:

                  猜你喜欢
                  • 2020-02-17
                  • 2023-02-11
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-01-03
                  • 2014-05-14
                  • 2016-08-03
                  • 2021-09-20
                  相关资源
                  最近更新 更多