flutter에서 패키지 이름을 변경하는 방법은 무엇입니까?


156

Flutter 프로젝트의 패키지 이름을 변경하는 방법이 있습니까?

flutter 프로젝트에서 패키지 이름과 응용 프로그램 이름을 변경하고 싶습니다.


4
모든 파일에서 이전 패키지 이름을 모두 찾아서 바꾸십시오. 아직 이름을 업데이트하는 명령이나 이와 유사한 것은 없습니다.
귄터 ch 바우어

3
새 프로젝트를 만들 때flutter create --org com.domain app_name
Victor

답변:


284

안드로이드 앱 이름

AndroidManifest.xml파일 에서 레이블 이름을 변경 하십시오.

 <application
    android:name="io.flutter.app.FlutterApplication"
    android:label="TheNameOfYourApp"   

패키지 이름

AndroidManifest.xml파일 에서 패키지 이름을 변경 하십시오.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">

또한 build.gradle앱 폴더 내의 파일

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

마지막으로 MainActivity.java클래스 에서 패키지를 변경하십시오 (MainActivity.java를 사용할 수없는 경우 MainActivity.kt를 확인하십시오)

    package your.package.name;

    import android.os.Bundle;
    import io.flutter.app.FlutterActivity;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    public class MainActivity extends FlutterActivity {

디렉토리 이름을 변경하십시오.

에서:

  android\app\src\main\java\com\example\name

에:

  android\app\src\main\java\your\package\name

편집 : 27-Dec-18

에 대한 패키지 이름 만 빌드에서 변경 build.gradle

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

iOS의 경우

디렉토리 Info.plist내의 파일 에서 번들 ID를 변경하십시오 ios/Runner.

<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>

최신 정보

패키지 및 번들 식별자의 이름을 바꾸지 않으려면 터미널에서이 명령을 사용하여 프로젝트를 시작할 수 있습니다.

flutter create --org com.yourdomain appname

1
아래 디렉토리 이름도 업데이트해야했습니다 ( 'example'을 'woods'로 변경) C : \ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw

1
iOS는 어떻습니까?
Suragch

9
내 번들 식별자는 $(PRODUCT_BUNDLE_IDENTIFIER)입니다. 그 변수는 어디에 숨어 있습니까?
Suragch

3
PRODUCT_BUNDLE_IDENTIFIER는 project.pbxproj 파일의 ios / Runner.xcodeproj 디렉토리에 여러 위치에 저장되어 있습니다.
Safa Alai

3
appID는 점으로 구분 된 3 단어 형식이어야합니다.
Raj Krishnan R

23

수동으로 이름을 변경해도 작동하지 않는 것처럼 보이고 gradle 오류가 발생합니다. 제 경우에는 오류가 발생합니다.

그래서 나는 보통 새로운 플러터 프로젝트를 만듭니다.

아래에 언급 된 명령을 사용하여 새 flutter 앱을 만듭니다.

flutter create --org com.yourdomain appname

프로젝트의 패키지 이름은-> com.yourdomain.appname


패키지 이름을 그대로 유지하려면 com.appname다음과 같이 변경하십시오.

flutter create --org com appname

add 대신 Java kotlinandroid추가하려면-a java

flutter create -a java --org com.yourdomain appname


2
'flutter create --org com.yourcompany --project-name new_app_name.' (기존 프로젝트 안에있는 경우 마침표를 추가하십시오. 먼저 Android 및 ios 폴더를 휴지통에 버려 재생성해야합니다). 백업하기는 답변을위한 중요한 전제 조건이어야합니다.
Tommie C.

21

기계적 인조 인간

Android에서 패키지 이름은 AndroidManifest에 있습니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">

iOS

iOS에서 패키지 이름은 Info.plist의 번들 식별자입니다.

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

이는에서 발견된다 Runner.xcodeproj / project.pbxproj :

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

이름 변경

패키지 이름은 둘 이상의 위치에 있으므로 이름을 변경하려면 전체 프로젝트에서 이전 프로젝트 이름의 발생을 검색하여 모두 변경해야합니다.

Android Studio 및 VS 코드 :

  • 맥 : Command+ Shift+F
  • 리눅스 / 윈도우 : Ctrl+ Shift+F

iOS에 대한 도움 을 주신 diegoveloper 에게 감사드립니다 .

최신 정보:

이 페이지로 몇 번 다시 돌아온 후 올바른 이름으로 새 프로젝트를 시작한 다음 이전 파일을 복사하는 것이 더 쉽고 깨끗하다고 ​​생각합니다.


19

(행 1) name에서 속성 변경pubspec.yaml

APK의 이름을 변경하십시오 android:label .AndroidManifest.xml


1
MainActivity.java 또는 mainActivity.kt 변경이 필요합니다
Epsi95

19

특정 파일을 변경하고 싶지 않은 사람들은 https://pub.dev/packages/rename을 사용했습니다 .

설치 : pub global activate rename

그런 다음 다음을 실행하십시오. pub global run rename --bundleId com.example.android.app --target android


8

이것이 내가 iOS와 안드로이드 용 패키지의 이름을 바꾸는 방법입니다

  1. 앱 모듈에서 build.gradle로 이동하여 이름을 바꿉니다. applicationId "com.company.name"
  2. 에 Manifest.xml로 이동 app/src/main하고 이름을 변경 package="com.company.name"하고android:label="App Name"
  3. Manifest.xml로 이동하여 app/src/debug이름을 바꿉니다.package="com.company.name"
  4. Manifest.xml로 이동하여 app/src/profile이름을 바꿉니다.package="com.company.name"
  5. 가서 app/src/main/kotlin/com/something/something/MainActivity.kt이름 바꾸기package="com.company.name"
  6. app/src/main/kotlin/구조가 보이도록 각 디렉토리로 이동하여 이름을 바꿉니다.app/src/main/kotlin/com/company/name/
  7. 이동 pubspec.yaml프로젝트 및 변화 name: somethingname: name예를 들어, : - 패키지 이름 인 경우com.abc.xyzname: xyz
  8. lib 폴더의 각 다트 파일로 이동하여 가져 오기의 이름을 수정 된 이름으로 바꿉니다.
  9. XCode를 열고 러너 파일을 열고 프로젝트 탐색기에서 러너를 클릭하십시오.
  10. 일반으로 이동-> 번들 식별자를 두 번 클릭-> 이름을 바꿉니다. com.company.name
  11. Info.plist로 이동하여 번들 이름을 클릭하고 이름을 앱 이름으로 바꿉니다.
  12. 모든 것을 닫고-> flutter 프로젝트로 이동하여 터미널 에서이 명령을 실행하십시오. flutter clean

6

Flutter Project의 모든 AndroidManifest.xml 파일에서-> package = "your.name.app "(app / src / debug / AndroidManifest.xml ) 및 (app / src / main / AndroidManifest.xml ) 및 (app / src / profile / AndroidManifest.xml )

잘 생겼어 !!


고마워 퍼시 나는이 문제에 직면하고 당신의 대답을 찾았습니다.
개발자

3

업데이트이 다섯 위치에서 패키지 이름을 원하는 패키지 이름으로 변경해야합니다.

1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) build.gradle .
       defaultConfig {
           applicationId
5.) MainActivity.java on "package"

마지막 단계는 실행하는 것입니다 flutter clean


3

Visual Studio 코드에서

파일에서 편집> 바꾸기

파일에서 코드 대체

Android 스튜디오에서

1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 경로에서 바꾸기

경로를 바꾸다

2. 기존 패키지 및 새 패키지 작성> 모두 교체

모든 스크린 샷 교체


세상에, 당신은 최고입니다
N Sivaram

3

공식적인 flutter 문서에 따르면 ApplicationIdin app/build.gradle디렉토리 만 변경하면 됩니다 . 그런 다음 apk를 빌드하면 매니페스트 파일의 패키지 이름이에서 변경 한대로 ApplicationId변경됩니다 build.gradle. apk 및 google play를 빌드하는 동안 플러터 때문에 ApplicationIdbuild.gradle을 고려 하십시오. 이 솔루션은 저에게 효과적이었습니다.

출처 : 공식 문서


1

내 앱 섹션에 manifest.xml 파일이 두 개 있었으므로 패키지 이름을 모두 변경해야했습니다.여기서 볼 수 있습니다


0

https://developer.android.com/studio/build/application-id.html :이 공식 문서를 따를 수 있습니다

패키지 이름은 AndroidManifest.xml에서 변경할 수있는 반면 애플리케이션 ID는 Build.gradle에서 변경되어야합니다.

그러나 패키지 이름을 신중하게 변경해야합니다.

또한 앱을 다시 업로드하는 동안 이전에 업로드 한 앱의 애플리케이션 ID가 새 업로드와 일치하므로주의해야합니다.


0

Android에서 애플리케이션 ID를 변경하십시오.

> build.gradle

파일 및 iOS 변경

> 프로젝트 설정에서 번들 이름.


0

내 대답이 정답으로 받아 들여지지 않더라도 위의 모든 대답으로 인해 더 많은 문제가 발생했다고 생각합니다.

  1. 숭고한 텍스트를 얻으십시오 (미쳤습니까? 아니요, 그냥 내 단계를 따르십시오)
  2. 파일을 클릭하고 열린 폴더를 선택한 다음 작업중 인 프로젝트의 폴더를 선택하십시오
  3. 이제 탭에서 찾기를 클릭하고 파일에서 찾기를 선택하거나 Ctrl+ Shift+F (Windows 사용자의 경우 이미 드릴을 알고있는 Mac 사용자의 경우).
  4. 이제 찾기 섹션에서 변경하려는 패키지 이름을 복사하여 붙여넣고 패키지 이름으로 바꾸려는 항목을 바꾸기 섹션에 붙여 넣습니다.
  5. 찾기를 클릭하십시오 (아직 교체를 클릭하지 마십시오).
  6. 이제 찾기를 클릭하면 프로젝트에서 검색 기준과 일치하는 사용 가능한 모든 패키지 이름이 나열됩니다. 이에 만족하면 아니오부터 반복하십시오. 3하지만 이번에는 REPLACE를 클릭하십시오.
  7. 프로젝트를 재구성하고 재미있게 보내십시오.

결론 : 간단한 찾기 및 바꾸기 프로그램이이 문제를 해결하는 데 필요한 전부이므로 Sublime Text 3을 강력히 권장합니다.

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