在React Native中更改应用名称


84

我试图弄清楚如何更改ReactNative应用程序名称。我的设备上安装的APK只是带有Android图标的“应用”。我该如何更改?

我尝试更改package.json并重新运行react-native升级,但未更新AndroidManifest.xml

Answers:


131

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


还要确保MainActivity中的getMainComponentName()返回您的本机应用程序名称。在app.json即名字
约翰Muraguri

5
IOS呢?
Abd Rmdn

1
此时,react-native-rename显然未维护且无法使用。
rt_19年

那iOS呢?
穆罕默德·阿什法克

4
要更改本机IOS应用程序的显示名称,您可以从info.plist更改“捆绑显示名称”属性
Hassan Raza

61

尝试react-native-rename这个npm软件包将简化过程

// in project directory

   npx react-native-rename <newName>

6
虽然此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。-评论
-m_callens

1
问题解决
保罗尼翁多

2
@MikeS。这不是一个坏习惯,因为它不是项目依赖项而是工具,并且将它们作为项目依赖项确实是一个坏习惯。就像CRNA,你应该有它作为一个全球性的工具
古斯塔沃Topete

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

20
不使用。在撰写本文时,此软件包已弃用/未维护,将使您的项目无法使用。
SQueryL

37

对于Android

修改显示名app.json文件

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

然后一一运行这些命令

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

对于iOS

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

在项目目标中选择您的应用程序项目作为主机应用程序进行测试(“常规”选项卡)在此处输入图片说明


2
非常感谢,这在尝试了许多其他解决方案后为我工作
cherucole

先生,您是一位救命者
Jithin

28

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

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

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


1
我尝试了这种方法,但是并没有解决我的问题。当应用程序在我的手机中运行时,显示错误消息“应用程序<上一个应用程序名称>未注册”
NIKHIL CM

1
尝试使用@KlaasNotFound方法。成功运行了新版本
NIKHIL CM

我遇到了类似@NIKHILCM的问题,反应本机为0.56
Marecky

15

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

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

  • 删除android/ios/文件夹。

  • "name"您的条目更改为package.json新名称。

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

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

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

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

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


7
请注意:我认为第一步应该是create a repo test branch first
Mike S.

1
到今天为止,有一个新的npm软件包声称可以最大程度地减少这些问题react-native-git-upgrade。但是我无法使用来运行它yarn。我的项目不使用npm,也不想在全球安装它。因此,尝试找出我的选择。到目前为止,react-native-git-upgrade从CLI失败
麦克S.

1
非常感谢您采取的步骤,我遵循了某些步骤,该方法仍然有效
Greco Jonathan

1
还必须执行调试密钥库stackoverflow.com/a/57438549/5900793
Steffo Dimfelt

1
react-native upgrade不再生成平台子文件夹。
Dogu Deniz Ugur

11

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


同样适用于macOS Sierra。
Prashant Ghimire

10

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

修改 displayName/app.json文件中

修改 app_nameandroid/app/src/main/res/values/strings.xml

然后一一运行这些命令

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

我怎么不能运行本机弹出,它说我name必须在中定义app.json但我有它?
程序先生

这将导致错误:不变振动:xxxAPP未注册。(xxxAPP是旧的应用程序名称)
苔丝许

10

首先: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命令。现在,只需在您的设备中安装应用即可。


如果我想更改捆绑包标识符?
奥利弗·D

@OliverD对于Android,更改android / app / build.gradle文件中的应用程序ID,对于iOS,更改iOS项​​目中的Bundle Identifier。不要忘了重新配置您的第三方账户,在谷歌的标志,在实等标志的情况下
拉胡尔Rastogi

7

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

对于ios,只需在xCode中打开它,然后选择“项目”标签即可。


3

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

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

注意:推荐

react-native-rename

保罗·尼翁多可能影响MainApplication.java文件,不要使用它!


答应了,我只好6.在安装反应母语,重命名和它在APP另一个问题
苔丝许

2

你可以试试这个

  1. 将app.json中的displayName更新为新名称
  2. 删除ios /和android /目录
  3. 运行本机弹出
  4. 运行本机链接

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

2

在更改应用程序名称之前,请先获取代码的备份,然后转到以下路径,用新的应用程序名称替换您的应用程序名称,然后再更改一个文件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"
}

2

简单的方法

项目> android>应用>主要> res>样式

然后更改应用名称


1

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

  1. 将app.json中的名称和displayName更新为新名称
  2. 将应用程序文件夹重命名为与应用程序名称相同
  3. 删除ios /和android /目录
  4. 删除ndoe模块
  5. 更新package.json中的名称(您必须在代码中为import&require()使用新名称。例如:从'NewAppName / src / api'导入{x})
  6. 守望者
  7. rm -rf / tmp / haste-map-react-native-packager- *
  8. rm -rf / tmp / metro-bundler-cache- *
  9. 重新启动电脑
  10. sudo npm安装
  11. 反应性喷射
  12. 恢复图标/图像
  13. 反应本机链接
  14. 重新启动电脑
  15. 谨慎运行应用程序 :您可能必须手动设置。就我而言SplashScreen

非常复杂而不简单
Arif Hidayat
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.