ChatGPT解决这个技术问题 Extra ChatGPT

在 React Native 中更改应用程序名称

我试图弄清楚如何更改 ReactNative 应用程序名称。我设备上安装的 APK 只是“App”,带有 Android 图标。我怎样才能改变这个?

我尝试更改 package.json 并重新运行 react-native upgrade 但它没有更新 AndroidManifest.xml


M
Mufaddal Hamid

生成器不会覆盖位于 android/app/src/main/res/values/ 中的 strings.xml 文件,因此您必须手动更改 app_name 变量


还要确保 MainActivity 中的 getMainComponentName() 返回您的反应原生应用程序名称。即 app.json 中的名称
IOS呢?
react-native-rename 显然是 unmaintained and unuseable at this point.
iOS 呢?
要更改 react-native IOS App 显示名称,您可以从 info.plist 更改“Bundle display name”属性
C
Chhay Rith Hy

安卓版

修改 app.json 文件中的 displayName

修改android/app/src/main/res/values/strings.xml中的app_name

然后一一运行这些命令

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

对于 iOS

修改项目目标中的显示名称(常规选项卡)

https://i.stack.imgur.com/PYp4A.png


非常感谢,在尝试了许多其他解决方案后,这对我有用
先生,您是救生员
它没有在主机应用程序下拉菜单中显示我的 display name
displayName 对应于 app.json 中的键 name
P
Paul Nyondo

试试 react-native-rename 这个 npm 包会简化这个过程

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

注意:此包不会尝试正确重命名构建工件,例如 ios/build 或 Cocoa Pod 安装目标。重命名项目后,您应该清理、构建并重新安装第三方依赖项,以使其以新名称正常运行。

// in project directory

   npx react-native-rename <newName>

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
解决的问题
@迈克。这不是一个不好的做法,因为它不是项目依赖项而是一个工具,并且将它们作为项目依赖项确实是一个不好的做法。就像 CRNA,你应该把它当作一个全局工具
警告:不要使用这个库。它会毁了你的项目。永远不要使用这个。
不使用。在撰写本文时,此软件包已弃用/未维护,将使您的项目无法使用。
R
Rahul Rastogi

首先:在您的 react-native 项目目录中打开 app.json 文件。而且,只需替换此文件中 displayName json 属性的值。例如:

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

对于 Android 应用:打开 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>

卸载您之前安装在设备上的应用程序。在项目主目录中使用 npm install ,在 ios 文件夹目录中运行 pod install 命令。现在,只需在您的设备中安装应用程序。


如果我想更改捆绑标识符?
@OliverD 对于 Android,更改 android/app/build.gradle 文件中的应用程序 ID,对于 iOS,更改 iOS 项目中的 Bundle Identifier。不要忘记重新配置您的第三方帐户以防 google 登录、facebook 登录等。
如果您希望一切都干净,您还需要打开 xcode 并从那里重命名您的应用程序。
E
Eduardo Cuomo

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

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

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


我尝试了这种方法,但它并没有解决我的问题。当应用程序在我的手机中运行时,它会显示错误“应用程序 尚未注册”
尝试了@KlaasNotFound 方法。成功获得新的构建运行
我遇到了像 @NIKHILCM 和 react-native 0.56 一样的问题
C
Charitha Goonewardena

更新 2021 React 原生版本:0.64.0

Android

查找并打开以下文件并根据需要进行更改。
\android\app\src\main\res\values\strings.xml

<resources>
    <string name="app_name">My App</string>
</resources>

app.json

{
  "name": "MyApp",
  "displayName": "My App"
}

iOS

找到并打开 \ios\YourAppName\Info.plist 并根据需要进行更改。
注意:如果您的名字有空格,请使用 &#x2007; 而不是空格.

<key>CFBundleDisplayName</key>
<string>My&#x2007;App</string>

极好的!谢谢!
K
KlaasNotFound

我发现,如果您想同时更改应用名称和包名称(即重命名整个应用),则需要执行以下步骤:

确保在 android/ 和 ios/ 子文件夹中没有任何宝贵的东西(非生成的、手动复制的资源)。

删除 android/ 和 ios/ 文件夹。

将 package.json 中的“名称”条目更改为新名称。

更改 index.android.js 和 index.ios.js 中的应用名称: AppRegistry.registerComponent('NewAppName', () => App);

运行 react-native upgrade 以重新生成平台子文件夹。

如果您有链接资源(如自定义字体等),请运行 react-native 链接。

如果您有其他生成的资源(如应用程序图标),请运行脚本来生成它们(例如 yo)。

最后,在每台设备上卸载旧应用程序并运行新应用程序。


请注意:我认为第 1 步应该是 create a repo test branch first
截至今天,有一个新的 npm 包声称可以最大限度地减少这些问题,react-native-git-upgrade。但我无法使用 yarn 运行它。我的项目不使用 npm,我也不想全局安装它。所以,试图找出我的选择。到目前为止,react-native-git-upgrade 在 CLI 中失败
非常感谢您的步骤,我遵循了一些步骤,它奏效了
还必须做一个调试密钥库stackoverflow.com/a/57438549/5900793
react-native upgrade 不再生成平台子文件夹。
M
Mufaddal Hamid

如果您只要求 Android 这里是解决方案

修改 /app.json 文件中的 displayName

修改android/app/src/main/res/values/strings.xml中的app_name

然后一一运行这些命令

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

为什么我不能运行 react-native 弹出,它说我 name 必须在 app.json 中定义,但我有它?
这将导致错误:Invariant vilation: xxxAPP has not been registered。 ( xxxAPP 是旧的应用程序名称)
如果你在 windows 上运行 gradlew 应该使用 ./gradlew
@tesshsu 在使用新名称安装APP之前,您应该卸载以前的APP。
G
Green

如果您的 android 文件夹中没有任何珍贵的东西,您可以删除该文件夹,然后运行 react-native upgrade,然后运行 react-native android。这些将重新创建 AndroidManifest.xml 以及必要的文件和文件夹。 (在 Windows 10 中试用 0.18)


也适用于 macOS Sierra。
B
Biswajit

对于 android/app/src/main/res/values/strings.xml 我的 Android 应用程序

对于 ios 只需在 xCode 选择项目选项卡中打开它,一般只需重命名即可。


s
saeed eivazi

只需更改位于的 <string name="app_name"> 'NEW_APP_NAME' </string>

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

注意:推荐

反应本机重命名

Paul Nyondo 可能会影响 MainApplication.java 文件,不要使用它!


同意,我没有 react-native-rename 并且它在 APP 中出现了另一个问题
S
Sarath Ak

你可以试试这个

将 app.json 中的 displayName 更新为新名称 删除 ios/ 和 android/ 目录 运行 react-native 弹出 运行 react-native 链接


如果超过 React 0.6 以上,则弹出似乎不起作用,因此命令显示错误:错误无法识别命令“弹出”。
g
gauravsbagul

在更改应用程序名称之前获取代码的备份,然后,转到以下路径并将您的应用程序名称替换为新的应用程序名称,然后再更改一个文件 app.json E:***\android\app\src\main\res \values\strings.xml

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

应用程序.json

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

C
Chaurasia

简单的方法

项目 > 安卓 > 应用 > 主 > 资源 > 风格

然后更改应用名称


H
Hussain Abu Alamal

首先创建项目的完整备份,包括节点模块(以便将来恢复图标/照片..等)

将 app.json 中的 name 和 displayName 更新为新名称 将 app 文件夹重命名为与应用名称相同 删除 ios/ 和 android/ 目录 删除 package.json 中的 ndoe 模块 更新名称(您必须在您的 import 和 require() 中使用新名称代码。例如: import {x} from 'NewAppName/src/api') watchman watch-del-all rm -rf /tmp/haste-map-react-native-packager-* rm -rf /tmp/metro-bundler- cache-* restart pc sudo npm install react-native injection restore icons/images react-native link restart pc run app 注意:您可能需要手动设置。就我而言,SplashScreen


很复杂不简单
k
kalyan

将我在 android/app/src/main/res/values/strings.xml 中的应用名称更改为:

<resources>
    <string name="app_name">My App</string>
</resources>

并使用 npx react-native run-android 重新运行


G
Ganesh Moorthy A

更改 react-native 应用程序的名称

1.打开 ./android/app/src/main/java/[多个文件夹]/MainActivity.java

 @Override
  protected String getMainComponentName() {
    return "NameOfTheApp";
  }

打开 android/app/src/main/res/values/strings.xml NEW APP NAME Change Name in App.json 和 package.json。

4.对于干净的android项目运行以下命令

cd android &&./gradlew clean