Flutter 프로젝트를 Android App Bundle로 게시하는 단계별 절차

Flutter의 official instruction 시작에 적합합니다. 그러나 여기서 단계별로 기록하고 싶습니다. 따라서 파일 경로를 추측할 필요가 없을 수도 있습니다.

1. 키 저장소 생성



Keystore는 AAB 파일에 서명해야 하는 파일입니다.

프로젝트의 루트 디렉터리에 있는 터미널에서 다음 명령을 실행합니다.
keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
이 명령을 입력하면 키의 비밀번호와 일부 정보를 입력하라는 메시지가 표시됩니다.

다음 옵션에 주의하십시오.

  • -keystore는 파일의 이름과 생성 위치입니다. upload-keystore.jks는 프로젝트의 루트 디렉터리에 만들어집니다. 원래 지침: ~/upload-keystore.jks는 Keystore 파일을 사용자의 루트 디렉터리에 저장합니다.

  • -alias는 키의 별칭 이름입니다. 나중에 사용해야 합니다.

  • 2. Keystore에 대한 참조 파일 생성



    [프로젝트 루트]/android/에 key.properties라는 파일을 만듭니다.

    storePassword=<password from previous step>
    keyPassword=<password from previous step>
    keyAlias=upload
    storeFile=../../upload-keystore.jks
    


  • 다른 키 별칭으로 생성하는 경우 keyAlias에 지정하십시오.
  • Flutter 프로젝트 디렉토리의 루트에 Keystore 파일을 저장하도록 선택한 경우 storeFile의 경우. 이 파일의 경로가 작동합니다.

  • 3. app/build.gradle 수정



    이제 build.gradle을 수정해야 합니다. 따라서 Flutter는 이를 사용하여 AAB 파일에 서명하고 생성할 수 있습니다.

    키 저장소 속성 로드



    [project]/android/app/build.gradle을 열고 android 블록을 찾은 다음 맨 위에 다음 코드를 넣습니다.

       def keystoreProperties = new Properties()
       def keystorePropertiesFile = rootProject.file('key.properties')
       if (keystorePropertiesFile.exists()) {
           keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
       }
    
       android {
             ...
       }
    
    


    buildTypes 블록 교체



    buildTypes 블록을 찾습니다. 아래와 같아야 합니다.

       buildTypes {
           release {
               // TODO: Add your own signing config for the release build.
               // Signing with the debug keys for now,
               // so `flutter run --release` works.
               signingConfig signingConfigs.debug
           }
       }
    


    다음 코드로 교체해야 합니다.

       signingConfigs {
           release {
               keyAlias keystoreProperties['keyAlias']
               keyPassword keystoreProperties['keyPassword']
               storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
               storePassword keystoreProperties['storePassword']
           }
       }
       buildTypes {
           release {
               signingConfig signingConfigs.release
           }
       }
    


    4. 릴리스 버전에 서명하고 빌드하자



    build.gradle 파일을 수정한 후 다음을 실행해야 합니다.

    flutter clean
    


    따라서 AAB 파일 빌드를 시도할 수 있습니다.

    flutter build appbundle
    


    빌드에 성공하면 터미널 콘솔에 AAB의 파일 경로가 표시됩니다.

    좋은 웹페이지 즐겨찾기