ReactNativeでアプリ名を変更する


84

ReactNativeアプリ名を変更する方法を見つけようとしています。私のデバイスにインストールされているAPKは、Androidアイコンが付いた単なる「アプリ」です。どうすればこれを変更できますか?

package.jsonを変更してreact-nativeupgradeを再実行しようとしましたが、AndroidManifest.xmlが更新されませんでした

回答:


131

ジェネレーターはにあるstrings.xmlファイルをオーバーライドしないandroid/app/src/main/res/values/ため、app_name変数を手動で変更する必要があります


また、MainActivityのgetMainComponentName()がReactNativeアプリ名を返すことを確認してください。つまり、app.jsonの名前
JohnMuraguri19年

5
IOSはどうですか?
AbdRmdn19年

1
react-native-renameは、この時点で
RT_

iOSはどうですか?
ムハンマドアシュファク

4
反応ネイティブIOSアプリの表示名を変更するには、info.plistから「バンドル表示名」プロパティを変更できます
HassanRaza19年

61

react-nativeを試してください-このnpmパッケージの名前を変更すると、プロセスが簡単になります

// in project directory

   npx react-native-rename <newName>

6
このリンクは質問に答えることができますが、ここに答えの本質的な部分を含めて、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。-レビューから
m_callens 2017年

1
対処された問題
Paul Nyondo 2017年

2
@MikeS。これはプロジェクトの依存関係ではなくツールであるため、悪い習慣ではありません。プロジェクトの依存関係としてそれらを使用することは、実際に悪い習慣です。cRNAをのようなものです、あなたはグローバルなツールとしてそれを持っている必要があります
グスタボTopete

16
警告:このライブラリは使用しないでください。それはあなたのプロジェクトを台無しにするでしょう。これは絶対に使用しないでください。
MRSafari

20
使用禁止。この記事の執筆時点では、このパッケージは非推奨/保守されておらず、プロジェクトが使用できなくなります。
SQueryL

37

アンドロイド用

app.jsonのdisplayNameを変更しますファイルのます

app_nameを変更しますandroid / app / src / main / res / valuesます

次に、これらのコマンドを1つずつ実行します

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

iOSの場合

表示名の変更プロジェクトターゲットの([全般]タブ)

テスト用のプロジェクトターゲットでホストアプリケーションとしてアプリケーションプロジェクトを選択します([全般]タブ)ここに画像の説明を入力してください


2
どうも

あなたは、命の恩人です
Jithin

28

私がAndroid用にこれを行った方法(ハッキーですが、動作します)は、文字列app_nameフィールドを変更するだけです

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

インストールされているAndroidアプリの名前が、値として入力した名前に変更されます。


1
この方法を試しましたが、問題は解決しませんでした。私の携帯電話でアプリを実行すると、「アプリケーション<prev appname>は登録されていません」というエラーが表示されます
NIKHIL CM 2018

1
@KlaasNotFoundメソッドを試しました。新しいビルドのアップランに成功
NIKHIL CM

@NIKHILCMとreact-native0.56のような同じ問題が発生しました
Marecky 2018

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
注:ステップ1はすべきだと思いますcreate a repo test branch first
マイク

1
今日の時点で、これらの問題を最小限に抑えると主張する新しいnpmパッケージがありreact-native-git-upgradeます。しかし、を使用して実行することはできませんyarn。私のプロジェクトは使用していませんnpm。また、グローバルにインストールしたくありません。だから、私のオプションを理解しようとしています。これまでのところ、react-native-git-upgradeCLIから失敗した
マイク・S.

1
おかげで、あなたのための多くは、私はいくつかに続き、それが働いた手順
グレコジョナサン

1
また、デバッグキーストアstackoverflow.com/a/57438549/5900793
SteffoDimfelt19年

1
react-native upgradeプラットフォームサブフォルダを生成しなくなりました。
土偶デニスウグル

11

あなたがあなたのアンドロイドフォルダ内の貴重な任意のものを持っていない場合は、その後、実行したフォルダを削除することができreact-native upgrade、その後react-native android。これらは、必要なファイルとフォルダーとともにAndroidManifest.xmlを再作成します。(Windows 10では0.18で試してみました)


macOSSierraでも動作します。
Prashant Ghimire 2017

10

あなたがAndroidだけを求めているなら、ここに解決策があります

ファイルを変更displayNameする/app.json

変更app_nameandroid/app/src/main/res/values/strings.xml

次に、これらのコマンドを1つずつ実行します

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

どうしてreact-nativeイジェクトを実行できnameず、で定義する必要があると表示されますapp.jsonが、持っていますか?
ミスター・プログラム

これにより、エラーが発生します。不変の違反:xxxAPPが登録されていません。(xxxAPPは、古いアプリの名前だった)
テスHSU

10

まず第一に:app.json react-nativeプロジェクトディレクトリでファイルを 開きます。そして、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ディレクトリの実行フォルダIOSで、プロジェクトのメインディレクトリにポッドをインストールするコマンドを。今、あなたのデバイスにアプリをインストールするだけです。


バンドル識別子を変更したい場合は?
オリバーD

@OliverD Androidの場合はandroid / app / build.gradleファイルのアプリケーションIDを変更し、iOSの場合はiOSプロジェクトのバンドル識別子を変更します。でGoogleの看板などの投稿した写真の場合に再設定するには、サードパーティのアカウントを忘れてはいけない
ラーフルRastogi

7

アンドロイド用android / app / src / main / res / values /strings.xml私のAndroidアプリ

for ios xCodeで開くだけで、プロジェクトタブを選択します。一般的な名前を変更するだけです。


3

<string name="app_name"> 'NEW_APP_NAME' </string> ある場所を変更するだけです

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

注:推奨

react-native-rename

ポールNyondo多分MainApplication.javaファイルに影響を与え、それを使用しないでください!


同意しました、私はisntall react-native-renameを持っていました、そしてそれはAPPで別の問題をします
tesshsu19年

2

あなたはこれを試すことができます

  1. app.jsonのdisplayNameを新しい名前に更新します
  2. ios /およびandroid /ディレクトリを削除します
  3. 反応ネイティブイジェクトを実行します
  4. react-nativeリンクを実行する

2
React 0.6の上限を超えると、イジェクトが機能していないように見えるため、コマンドはエラーを表示します:エラー認識されないコマンド「イジェクト」。
tesshsu19年

2

アプリ名を変更する前に、コードのバックアップを取得してから、次のパスに移動し、アプリ名を新しいアプリ名に置き換えて、もう1つのファイル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

簡単な方法

プロジェクト>アンドロイド>アプリ>メイン>解像度>スタイル

次に、アプリ名を変更します


1

まず最初に、ノードモジュールを含むプロジェクト全体のバックアップを作成します (将来的にアイコン/写真などを復元するため)

  1. app.jsonのnameとdisplayNameを新しい名前に更新します
  2. アプリフォルダの名前をアプリ名と同じに変更します
  3. ios /およびandroid /ディレクトリを削除します
  4. ndoeモジュールを削除する
  5. package.jsonの名前を更新します(コードのimport&require()には新しい名前を使用する必要があります。例:import {x} from'NewAppName / src / api ')
  6. ウォッチマンwatch-del-all
  7. rm -rf / tmp / hash-map-react-native-packager- *
  8. rm -rf / tmp / metro-bundler-cache- *
  9. PCを再起動します
  10. sudo npm install
  11. 反応ネイティブイジェクト
  12. アイコン/画像を復元する
  13. react-nativeリンク
  14. PCを再起動します
  15. アプリの注意を実行 します。手動で設定する必要がある場合があります。私の場合、SplashScreen

非常に複雑で単純ではない
Arif Hidayat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.