
안드로이드 개발 환경에서 Package 이름은 각 앱들을 구별하는 고유 ID의 역할을 한다.
그래서 PlayStore에 등록할 때, 앱의 Package 이름이 이미 존재한다면 등록할 수 없다.
그러므로 우리는 필요에 따라 패키지명을 변경해야 할 수 있다.
Flutter에서는 이 패키지명을 직접 바꾸는 방법과, pub.dev에 올라온 패키지(Package)를 활용하여 바꾸는 방법이 존재한다.
이 외의 방법이 존재하면 댓글로 나의 모자람을 꾸짖어달라.
그럼 각각의 방법에 대해서 알아보자.
1. 직접 변경하기.
Step 1. build.gradle으로 이동하기.
먼저 앱 패키지명을 변경하기 위해서 build.gradle로 이동한다.
그런데 Flutter 내부에는 build.gradle이 여러 개가 존재한다.
우리가 열어야 하는 파일의 경로는 아래와 같다.
[프로젝트명 -> android -> build.gradle]
해당 경로로 이동하여 아래로 내리다보면 defaultConfig을 찾을 수 있다.
이곳에서 applicationId 값을 바꾸면 된다.

TMI 1. AndroidManifest.xml 설정에 관하여.
다른 게시글에서는 추가적으로 android-app-src 폴더 내의 main, debug, profile 경로의 'AndroidManifest.xml'을 열라고 한다.
이후 아래처럼 속성값을 적으라고 안내되어 있다.
package="com.example.new_package_name"
근데 나는... 아무리 찾아도 저 package 속성이 보이지 않았다.
그래서 위의 applicationId만 바꿔도 정상작동 함을 확인할 수 있었다.
만약 package 속성이 있고, 내 방법으로 안된다면 각각의 경로에 해당 소스를 추가해보자.
TMI 2. android의 namespace 값과 MainActivity.kt의 관계
build.gradle을 내려 보다 보면, 중간에 패키지명이 하나 더 보이는 것을 확인할 수 있다.
이를 변경해 보면 에러가 나고 실행이 되지 않는다.
namespace의 값은 '프로젝트명 - android - app - src - main - kotlin\패키지명' 경로 내의 'MainActivity.kt' 파일과 연동되어 있는 듯하다.
그래서 해당 속성값을 바꾸려면 MainActivity.kt의 package 이름도 같이 바꾸어야 정상적으로 실행이 된다.
뭐 굳이 건들 필요가 없어 보인다.


2. 패키지(package)를 통한 package명 변경
package 이름을 바꾸기 위해 package를 쓴다니 기분이 묘하다.
인공지능 개발을 위해 인공지능을 쓰는 그런 라임..?
아무튼, change_app_package_name 1.1.0이라는 패키지를 설치할 것이다.
아래의 방법 중 편한 방법으로 설치하자.
Terminal에서 설치 시
Dart 환경에서 설치시
$ dart pub add change_app_package_name
Flutter 환경에서 설치시
$ flutter pub add change_app_package_name
pubspec.yaml에 삽입시
dependencies:
change_app_package_name: ^1.1.0
참고로 해당 패키지는 개발 시에만 활용되기 때문에, 'dev_dependencies' 하위에 넣어도 된다.
내가 알기로 'dev_dependencies' 내부의 패키지는 앱 추출 시 들어가지 않는다.
즉, 용량 등의 리소스를 좀 더 아낄 수 있다.
아니면 뭐 이름 바꾸고 해당 패키지를 삭제해도 된다.
자, 이제 설치가 완료되었다면 아래 명령어를 통해서 패키지 명을 변경할 수 있다.
flutter pub run change_app_package_name:main com.내가원하는.패키지명.입력
이로써 패키지 이름을 변경하는 두가지 방법에 대해서 알아보았다.
flutter doctor, clean 등 Terminal 명령어 모음.
flutter는 Terminal 에서 명령어를 입력함으로써 다양한 기능을 수행할 수 있다. 물론 일부 기능은 GUI 환경에서도 가능하지만, 이런 명령어를 알고 있으면 일일히 버튼을 찾아 헤매지 않아도 된다는
hobbyspoon.tistory.com
'IT IS IT > Flutter' 카테고리의 다른 글
| Flutter에서 Text 드래그/복사 가능하게 하기 (SelectableText) (0) | 2023.12.06 |
|---|---|
| Flutter 카카오 네비게이션 앱으로 길안내하기 (Android) (1) | 2023.12.05 |
| flutter sdk version 에러 (0) | 2023.11.30 |
| flutter doctor, clean 등 Terminal 명령어 모음. (0) | 2023.11.29 |
| Flutter [No Directionality widget found.] 오류 해결법. (0) | 2023.11.05 |