【发布时间】:2016-04-20 01:54:31
【问题描述】:
我正在尝试弄清楚如何更改 ReactNative 应用名称。 我设备上安装的 APK 只是“App”,带有 Android 图标。 我该如何更改?
我尝试更改 package.json 并重新运行 react-native 升级,但它没有更新 AndroidManifest.xml
【问题讨论】:
标签: react-native
我正在尝试弄清楚如何更改 ReactNative 应用名称。 我设备上安装的 APK 只是“App”,带有 Android 图标。 我该如何更改?
我尝试更改 package.json 并重新运行 react-native 升级,但它没有更新 AndroidManifest.xml
【问题讨论】:
标签: react-native
生成器不会覆盖位于android/app/src/main/res/values/ 中的strings.xml 文件,因此您必须手动更改app_name 变量
【讨论】:
【讨论】:
display name
displayName对应app.json中的键name
试试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>
【讨论】:
我为 android 执行此操作的方式(hacky,但它有效)只是更改了字符串中的 app_name 字段
android/app/src/main/res/values/strings.xml
它会将您安装的 android 应用程序的名称更改为您输入的任何值。
【讨论】:
首先:
在您的 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 命令。现在,只需在您的设备中安装应用即可。
【讨论】:
我发现,如果您想同时更改应用名称和包名称(即重命名整个应用),则需要执行以下步骤:
确保您在 android/ 和 ios/ 子文件夹中没有任何珍贵的(非生成的、手动复制的资源)。
删除android/ 和ios/ 文件夹。
将package.json 中的"name" 条目更改为新名称。
在index.android.js 和index.ios.js 中更改应用名称:
AppRegistry.registerComponent('NewAppName', () => App);
运行react-native upgrade 重新生成平台子文件夹。
如果您有链接资源(如自定义字体等),请运行 react-native link。
如果您有其他生成的资源(例如应用程序图标),请运行脚本来生成它们(例如 yo)。
最后,在每台设备上卸载旧应用并运行新应用。
【讨论】:
create a repo test branch first。
react-native-git-upgrade。但我无法使用yarn 运行它。我的项目没有使用npm,也不想全局安装。所以,试图找出我的选择。到目前为止,react-native-git-upgrade 从 CLI 失败
react-native upgrade 不再生成平台子文件夹。
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 App</string>
【讨论】:
如果您只要求 Android,这里是解决方案
修改/app.json文件中的displayName
在android/app/src/main/res/values/strings.xml
app_name
那么 一个一个地运行这些命令
cd android
gradlew clean
cd ..
react-native run-android
【讨论】:
name 必须在 app.json 中定义,但我有它?
如果您的 android 文件夹中没有任何珍贵的东西,您可以删除该文件夹,然后运行 react-native upgrade 然后运行 react-native android。这些将重新创建 AndroidManifest.xml 以及必要的文件和文件夹。 (在 Windows 10 中试用 0.18)
【讨论】:
对于安卓 android/app/src/main/res/values/strings.xml 我的安卓应用
iOS 版 只需在 xCode 选择项目选项卡中打开它,然后重命名即可。
【讨论】:
只需更改<string name="app_name"> 'NEW_APP_NAME' </string>
位于
[project_dir]/android/app/src/main/res/values/strings.xml
注意:推荐
反应原生重命名
by Paul Nyondo 可能会影响 MainApplication.java 文件,不要使用它!
【讨论】:
你可以试试这个
【讨论】:
在更改应用名称之前获取您的代码备份,然后,转到以下路径并将您的应用名称替换为新的应用名称,然后再更改一个文件 app.json E:***\android\app\src\main\res\values\strings.xml
<resources>
<string name="app_name">New Name</string>
</resources>
app.json
{
"name": "oldName",
"displayName": "New Name"
}
【讨论】:
简单的方法
PROJECT >android > app > main > res > style
然后更改应用名称
【讨论】:
首先创建项目的完整备份包括节点模块(以便将来恢复图标/照片等)
【讨论】:
将我在 android/app/src/main/res/values/strings.xml 中的应用名称更改为:
<resources>
<string name="app_name">My App</string>
</resources>
并使用 npx react-native run-android 重新运行
【讨论】: