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

Ove*_*119 54 react-native

我正在试图弄清楚如何更改ReactNative应用程序名称.我设备上安装的APK只是"App",带有Android图标.我怎么能改变这个?

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

die*_*edu 76

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

UPDATE

由于已经有一个包这样做,似乎是要走的路,所以最好查看@ DescArtes的答案

  • 还要确保 MainActivity 中的 getMainComponentName() 返回您的 React Native 应用程序名称。即 app.json 中的名称 (9认同)
  • 要更改反应本机 IOS 应用程序显示名称,您可以从 info.plist 更改“捆绑包显示名称”属性 (8认同)
  • IOS呢? (6认同)
  • react-native-rename 显然 [未维护且此时无法使用。](https://github.com/junedomingo/react-native-rename/issues/76) (2认同)

小智 66

安卓版

修改显示名app.json文件

修改APP_NAMEAndroid设备/应用/ src目录/主/ RES /价值/ strings.xml中

然后一一运行这些命令

cd android
./gradlew clean
cd ..
react-native run-android
Run Code Online (Sandbox Code Playgroud)

对于 iOS

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

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

  • 非常感谢,在尝试了很多其他解决方案后,这对我有用 (2认同)
  • 先生,您是救星 (2认同)
  • `displayName` 对应 `app.json` 中的键 `name` (2认同)

Pau*_*ndo 51

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

// install react-native rename

   npm install react-native-rename -g
   or 
   yarn global add react-native-rename

// in project directory

   react-native-rename <New_Project_ Name>
Run Code Online (Sandbox Code Playgroud)

  • 虽然此链接可能会回答这个问题,但最好在此处包含答案的基本部分并提供参考链接.如果链接的页面发生更改,则仅链接的答案可能会无效. - [来自评论](/ review/low-quality-posts/16498360) (3认同)
  • 警告:请勿使用此库。它将破坏您的项目。永远不要使用这个。 (3认同)
  • 不使用。在撰写本文时,此软件包已弃用/未维护,将使您的项目无法使用。 (3认同)
  • 解决的问题 (2认同)
  • @MikeS.这不是一个坏习惯,因为它不是项目依赖项而是工具,并且将它们作为项目依赖项确实是一种不好的做法.就像CRNA一样,你应该把它作为一个全球工具 (2认同)

Cha*_*ena 44

更新 2021

React 本机版本:0.64.0

Android

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

<resources>
    <string name="app_name">My App</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

app.json

{
  "name": "MyApp",
  "displayName": "My App"
}
Run Code Online (Sandbox Code Playgroud)

iOS

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

<key>CFBundleDisplayName</key>
<string>My&#x2007;App</string>
Run Code Online (Sandbox Code Playgroud)

  • 极好的!谢谢你! (3认同)
  • 你是一个救星!花了很长时间才找到空格的窍门! (2认同)

Ste*_*huc 25

我为android做这个的方式(hacky,但它工作)只是更改了字符串app_name字段

机器人/应用/ SRC /主/ RES /值/ strings.xml中

它会将您安装的Android应用程序的名称更改为您放置的值作为值.

  • 我试过这个方法,但没有解决我的问题。当应用程序在我的手机中运行时,它会显示错误“应用程序 &lt;prev appname&gt; 尚未注册” (2认同)

Rah*_*ogi 24

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

{
    "name": "SomethingSomething",
    "displayName": "My New App Name"
}
Run Code Online (Sandbox Code Playgroud)

对于 Android 应用程序: 打开strings.xml文件,将<string name="app_name">标签的值替换为您的新应用程序名称。例如:

<string name="app_name">My New App Name</string>
Run Code Online (Sandbox Code Playgroud)

对于 iOS: Open info.plist,将后面的值替换<key>CFBundleDisplayName</key>为您的应用程序名称。例如:

<key>CFBundleDisplayName</key>
<string>My New App Name</string>
Run Code Online (Sandbox Code Playgroud)

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


Kla*_*und 14

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

  • 确保你没有什么珍贵的(非生成,手动复制资源)在android/ios/子文件夹.

  • 删除android/ios/文件夹.

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

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

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

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

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

  • 最后,卸载每台设备上的旧应用并运行新应用.

  • 请注意:我认为步骤#1应该是"首先创建一个repo测试分支". (5认同)
  • `react-native Upgrade`不再生成平台子文件夹。 (3认同)

Gre*_*een 9

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


小智 7

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

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


小智 7

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

修改显示名/app.json文件

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

然后一一运行这些命令

cd android
gradlew clean
cd ..
react-native run-android
Run Code Online (Sandbox Code Playgroud)

  • 这将导致错误:不变违规:xxxAPP尚未注册。( xxxAPP 是旧的应用程序名称) (2认同)

sae*_*azi 6

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

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

注意:推荐

反应本机重命名

作者Paul Nyondo可能会影响 MainApplication.java 文件,请勿使用它!


Sou*_*rty 5

Change the name at \android\app\src\main\res\values\strings.xml,  
app.jon, and ./android/app/src/main/java/MainActivity.java
Run Code Online (Sandbox Code Playgroud)

    **strings.xml**
    <resources>
        <string name="app_name">NewAppName</string>
    </resources>
    
    **app.json**
    {
      "name": "NewAppName",
      "displayName": "NewAppName"
    }
    
    **MainActivity.java**
      @Override
      protected String getMainComponentName() {
        return "NewAppName";
      }

Run Code Online (Sandbox Code Playgroud)

然后在终端上运行这些命令


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

Run Code Online (Sandbox Code Playgroud)