이 글에서 다루는 내용

Flutter CLI로 프로젝트를 생성하면 패키지명이 --org와 프로젝트명의 조합으로 자동 생성된다. 하지만 실무에서는 프로젝트명과 패키지명을 다르게 설정하고 싶은 경우가 많다. 이 글에서는 Flutter 프로젝트 생성 후 Android와 iOS 양쪽의 패키지명(번들 ID)을 안전하게 변경하는 방법을 다룬다.

문제 상황

flutter create 명령어로 프로젝트를 생성하면 패키지명은 아래와 같이 자동으로 결정된다.

fvm flutter create \
  --org com.ytylab \
  --platforms android,ios \
  eco_green_flutter

위 명령어 실행 시 자동으로 설정되는 패키지명:

com.ytylab.eco_green_flutter

Flutter CLI는 --package-name 옵션을 제공하지 않기 때문에 프로젝트명과 패키지명을 처음부터 분리해서 지정할 수 없다. 원하는 패키지명이 com.ytylab.ecogreen 이라면 생성 후 별도로 변경해야 한다.

방법 1. change_app_package_name 패키지 사용 (권장)

수동으로 변경하면 Android와 iOS에서 수정해야 할 파일이 여러 개이고, 하나라도 누락되면 빌드 오류가 발생한다. change_app_package_name 패키지를 사용하면 한 번의 명령어로 모든 파일을 안전하게 변경할 수 있다.

설치

dart pub add change_app_package_name --dev

패키지명 변경

dart run change_app_package_name:main com.ytylab.ecogreen

변경되는 파일 목록

Android

  • android/app/build.gradleapplicationId
  • android/app/src/main/AndroidManifest.xmlpackage
  • 기존 패키지 디렉토리 구조 및 MainActivity 경로

iOS

  • ios/Runner.xcodeproj/project.pbxprojPRODUCT_BUNDLE_IDENTIFIER

방법 2. 수동 변경

패키지 설치 없이 직접 변경하고 싶다면 아래 파일들을 각각 수정한다.

Android

android/app/build.gradle

android {
    defaultConfig {
        applicationId "com.ytylab.ecogreen"  // ← 변경
    }
}

android/app/src/main/AndroidManifest.xml

<manifest xmlns:android="..."
    package="com.ytylab.ecogreen">  <!-- ← 변경 -->

기존 MainActivity.kt 경로도 패키지 구조에 맞게 이동해야 한다.

android/app/src/main/kotlin/com/ytylab/ecogreen/MainActivity.kt

파일 상단의 패키지 선언도 변경한다.

package com.ytylab.ecogreen

iOS

Xcode에서 직접 변경하는 것이 안전하다.

Xcode → Runner → Signing & Capabilities
→ Bundle Identifier → com.ytylab.ecogreen 으로 변경

또는 ios/Runner.xcodeproj/project.pbxproj 파일에서 PRODUCT_BUNDLE_IDENTIFIER 항목을 찾아 변경한다.

방법 3. Android Studio로 프로젝트 생성 시 처음부터 분리

Android Studio의 New Flutter Project 마법사에서는 프로젝트명과 패키지명을 처음부터 별도로 설정할 수 있다.

Project name:  eco_green_flutter
Organization:  com.ytylab.ecogreen

생성 결과:

프로젝트명 (폴더명, pubspec.yaml): eco_green_flutter
패키지명 (Android / iOS):         com.ytylab.ecogreen

CLI 방식의 번거로움 없이 처음부터 원하는 패키지명을 확정할 수 있어 출시 예정인 앱이라면 이 방법도 좋은 선택이다.

방법 비교

방법 난이도 안전성 추천 상황
change_app_package_name 쉬움 높음 CLI로 생성한 후 변경할 때
수동 변경 어려움 낮음 (누락 위험) 직접 파일 구조를 이해하고 싶을 때
Android Studio 생성 시 지정 쉬움 높음 처음부터 패키지명을 확정할 때