React Native 로 패키지 이름 바꾸기

리액트네이티브의 패키지 이름

리액트네이티브는 init 할 때 프로젝트명, 패키지명, 앱이름이 강제로 설정된다

앱을 다 만들고 바꾸려고 하면 정말 골치 아파진다

반드시 초반에 바꾸자

프로젝트명 (폴더명), 패키지명 (com.skyksit.XXXX), 앱이름 (아이콘과 함게 보여지는 이름)을 바꿔야 한다

프로젝트 생성시

1
npx react-native init dragonKnight2

용의기사2 를 위와 같이 init 해버렸더니

  • 프로젝트명 : dragonKnight2
  • 패키지명 : com.dragonKnight2
  • 앱이름 : dragonKnight2

이렇게 생성되었다

앱이름 바꾸기

안드로이드, iOS 둘 다 파일 안에 데이터만 바꾸면 되기에 쉽다

안드로이드는
/android/app/src/main/res/values/strings.xml

1
2
3
<resources>
<string name="app_name">용의기사2</string>
</resources>

iOS 는 /ios/프로젝트이름/info.plist

1
2
<key>CFBundleDisplayName</key>
<string>용의기사2</string>
  • 프로젝트명 : dragonKnight2
  • 패키지명 : com.dragonKnight2
  • 앱이름 : dragonKnight2 => 용의기사2

패키지명 바꾸기

iOS 는 쉽고
안드로이드는 어렵습니다 (리액트네이티브 컴포넌트 만들기 전에 패키지명 바꾸자)

  • 프로젝트명 : dragonKnight2
  • 패키지명 : com.dragonKnight2 => com.skyksit.dk2
  • 앱이름 : dragonKnight2 => 용의기사2

안드로이드

  1. /android/app/src/main/AndroidManifest.xml 변경
  2. /android/app/build.gradle 변경
  3. /android/app/main/java/com/ 폴더명 변경
  4. /android/app/src/main/java/com/ java 패키지명 변경

/android/app/src/main/AndroidManifest.xml 변경

1
2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.skyksit.dk2">

app/build.gradle 변경

1
2
3
4
5
6
7
android {
...
defaultConfig {
applicationId "com.skyksit.dk2"
...
}
}

/android/app/main/java/com/ 폴더명 변경

/android/app/main/java/com/dragonKnight2
=> /android/app/main/java/com/skyksit/dk2

/android/app/src/main/java/com/ java 패키지명 변경

MainActivity.java
MainApplication.java
…등등 많다

package 명칭 변경

1
2
package com.skyksit.dk2
...

import 명칭 변경
싹 다 바꿔줘야 한다

안드로이드 빌드

1
npx react-native run-android

빌드해서 확인한다

빌드시에 에러나면 종속적인 java package 변경 안되어서 그럴 것이다

iOS

Xcode 실행 후
Bundle Identifier 에서 수정하면 됩니다

Bundle Identifier : com.skyksit.dk2

iOS 빌드

1
npx react-native run-ios

빌드해서 확인한다

연관포스트