React Native에서 앱 이름 변경


84

ReactNative 앱 이름을 변경하는 방법을 알아 내려고합니다. 내 기기에 설치된 APK는 Android 아이콘이있는 '앱'입니다. 어떻게 변경할 수 있습니까?

package.json을 변경하고 반응 네이티브 업그레이드를 다시 실행하려고 시도했지만 AndroidManifest.xml을 업데이트하지 않았습니다.

답변:


131

생성기는에있는 strings.xml파일을 재정의하지 않으므로 변수를 수동으로 android/app/src/main/res/values/변경 app_name해야합니다.


또한 MainActivity의 getMainComponentName ()이 반응 네이티브 앱 이름을 반환하는지 확인합니다. app.json에서 즉, 이름
존 Muraguri

5
IOS는 어떻습니까?
Abd Rmdn


iOS는 어떻습니까?
Muhammad Ashfaq

4
변화에 반응 네이티브 변경할 수의 Info.plist에서 '번들 표시 이름'속성 IOS 앱 표시 이름
하산 라자

61

보십시오 반응 모국어를-의 이름을 변경 하는 과정을 완화 할이 NPM 패키지를

// in project directory

   npx react-native-rename <newName>

6
이 링크가 질문에 답할 수 있지만 여기에 답변의 필수 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 무효화 될 수 있습니다. - 리뷰에서
m_callens

1
해결 된 문제
Paul Nyondo 2017-06-22

2
@MikeS. 이것은 프로젝트 종속성이 아니라 도구이기 때문에 나쁜 습관이 아니며 프로젝트 종속성으로 사용하는 것은 실제로 나쁜 습관입니다. CRNA와 비슷합니다. 글로벌 도구로 사용해야합니다
Gustavo Topete

16
경고 :이 라이브러리를 사용하지 마십시오. 그것은 당신의 프로젝트를 망칠 것입니다. 이것을 사용하지 마십시오.
MRSafari

20
사용하지 마세요. 이 글을 쓰는 시점에서이 패키지는 더 이상 사용되지 않거나 유지되지 않으며 프로젝트를 사용할 수 없게됩니다.
SQueryL

37

Android 용

app.json 파일 에서 displayName 수정

android / app / src / main / res / values ​​/ strings.xml 에서 app_name 수정

그런 다음이 명령을 하나씩 실행하십시오.

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

iOS 용

프로젝트 대상에서 표시 이름 수정 (일반 탭)

테스트를 위해 프로젝트 대상에서 애플리케이션 프로젝트를 호스트 애플리케이션으로 선택하십시오 (일반 탭).여기에 이미지 설명 입력


2
정말 감사합니다. 이것은 다른 많은 솔루션을 시도한 후에 저에게
효과적이었습니다

선생님, 생명의 은인입니다
Jithin

28

내가 안드로이드 (해키하지만 작동)를 위해 이것을 한 방식은 단지 문자열 app_name 필드를 변경하는 것입니다.

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

설치된 Android 앱의 이름을 값으로 입력 한 이름으로 변경합니다.


1
이 방법을 시도했지만 문제가 해결되지 않았습니다. 내 모바일에서 앱을 실행하면 "애플리케이션 <prev appname>이 등록되지 않았습니다"라는 오류 메시지가 표시됩니다.
NIKHIL CM

1
@KlaasNotFound 메서드를 시도했습니다. 성공적으로 새 빌드 업 런닝
NIKHIL CM

반응 모국어와 나는 @NIKHILCM처럼 같은 문제를 가지고 0.56
Marecky

15

나는 그것을 찾을 앱 이름을 모두 변경하려는 경우 패키지 이름을 (즉, 전체 응용 프로그램의 이름을 변경), 다음 단계가 필요합니다 :

  • android/ios/하위 폴더에 귀중한 (생성되지 않은 수동 복사 리소스)가 없는지 확인하십시오 .

  • android/ios/폴더를 모두 삭제하십시오 .

  • "name"항목을 package.json새 이름으로 변경하십시오 .

  • index.android.jsindex.ios.js: 모두에서 앱 이름을 변경하십시오 . AppRegistry.registerComponent('NewAppName', () => App);

  • react-native upgrade플랫폼 하위 폴더를 다시 생성하려면 실행하십시오 .

  • 링크 된 리소스 (예 : 사용자 지정 글꼴 등)가있는 경우 react-native link.

  • 다른 생성 된 리소스 (예 : 앱 아이콘)가있는 경우 스크립트를 실행하여 생성합니다 (예 :) yo.

  • 마지막으로 각 장치에서 이전 앱을 제거하고 새 앱을 실행합니다.


7
참고 : 1 단계는 create a repo test branch first.
Mike S.

1
오늘부터 이러한 문제를 최소화한다고 주장하는 새로운 npm 패키지가 react-native-git-upgrade있습니다. 하지만 나는 그것을 사용하여 실행할 수 없습니다 yarn. 내 프로젝트는을 사용하지 않으며 npm전 세계적으로 설치하고 싶지도 않습니다. 그래서, 내 옵션을 알아 내려고합니다. 지금까지 react-native-git-upgradeCLI 에서 실패
Mike S.

1
덕분에 당신이 단계에 대한 많은 나는 몇 가지를 따라하며 일
그리스 조나단에게

1
또한 디버그 키 저장소 stackoverflow.com/a/57438549/5900793
Steffo Dimfelt

1
react-native upgrade더 이상 플랫폼 하위 폴더를 생성하지 않습니다.
Dogu Deniz Ugur

11

Android 폴더에 귀중한 것이 없으면 폴더를 삭제 react-native upgrade한 다음 react-native android. 이렇게하면 필요한 파일 및 폴더와 함께 AndroidManifest.xml이 다시 생성됩니다. (Windows 10의 0.18에서 시도)


macOS Sierra에서도 작동합니다.
Prashant Ghimire

11

우선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의 경우 : Open info.plist에서 값을 <key>CFBundleDisplayName</key>앱 이름으로 바꿉니다. 예 :

<key>CFBundleDisplayName</key>
<string>My New App Name</string>

기기에 설치된 이전 앱을 제거합니다. 프로젝트 기본 디렉토리에서 npm install 을 사용 하고 ios 폴더 디렉토리에서 pod install 명령을 실행하십시오 . 이제 기기에 앱을 설치하기 만하면됩니다.


번들 식별자를 변경하려면?
Oliver D

@OliverD Android의 경우 android / app / build.gradle 파일에서 애플리케이션 ID를 변경하고 iOS의 경우 iOS 프로젝트에서 Bundle Identifier를 변경하십시오. Google 로그인, 페이스 북 로그인 등의 경우 타사 계정을 다시 구성하는 것을 잊지 마십시오.
Rahul Rastogi

10

Android 만 요청하는 경우 여기에 해결책이 있습니다.

파일 displayName에서 수정/app.json

수정 app_nameandroid/app/src/main/res/values/strings.xml

그런 다음이 명령을 하나씩 실행하십시오.

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

반응 네이티브 꺼내기를 실행할 nameapp.json없는 이유는 무엇입니까?
Mr-Programs

이로 인해 오류가 발생합니다. 불변 위반 : xxxAPP가 등록되지 않았습니다. (xxxAPP는 이전 앱 이름 임)
tess hsu

7

Android 용 android / app / src / main / res / values ​​/ strings.xml 내 Android 앱

ios의 경우 xCode에서 프로젝트 탭을 선택하십시오.


3

단순히 <string name="app_name"> 'NEW_APP_NAME' </string> 위치 변경

[프로젝트 _ 디렉터리] /android/app/src/main/res/values/strings.xml

참고 : 권장

반응 네이티브 이름 바꾸기

Paul Nyondo에 의해 MainApplication.java 파일에 영향을 미칠 수 있으므로 사용하지 마십시오!


동의, 나는 반응 네이티브 이름을 변경하지
않았고

2

당신은 이것을 시도 할 수 있습니다

  1. app.json의 displayName을 새 이름으로 업데이트합니다.
  2. ios / 및 android / 디렉토리 삭제
  3. 반응 네이티브 꺼내기 실행
  4. 반응 네이티브 링크 실행

2
React 0.6 이상인 경우 eject가 작동하지 않는 것 같으므로 명령에 오류가 표시됩니다. error Unrecognized command "eject".
tess hsu 2019

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

간단하게

PROJECT> android> app> main> res> style

그런 다음 앱 이름을 변경하십시오.


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. PC 다시 시작
  10. sudo npm 설치
  11. 반응 네이티브 꺼내기
  12. 아이콘 / 이미지 복원
  13. 반응 네이티브 링크
  14. PC 다시 시작
  15. 앱 실행 주의 : 수동으로 설정해야 할 수 있습니다. 제 경우에는 SplashScreen

간단하지 않은 매우 복잡한
Arif Hidayat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.