IT

flutter에서 출시 모드로 aab파일을 만드는 방법

나의지식 2025. 10. 6. 23:31

먼저 해당 프로젝트의 android 폴더에 key.properties 파일을 만든다. 

그리고 android\app 폴더에 있는 build.gradle.kts 파일을 아래와 같이 수정해준다. 여기서 25번째 라인에 패키지 이름을 적어준다. 예를 들어 applicationId = "com.myapp.helloworld"와 같은 식으로 말이다.

이 때 주의할 점은 패키지 이름에서 점으로 구분된 각 섹션은 반드시 문자로 시작되어야 한다는 점이다. _와 같은 특수문자를 넣어주면 에러가 뜬다. 

이렇게 하여 cmd에서 flutter build appbundle --release를 실행해주고 생성된 aab파일을 play console에 올려주면 된다. 

import java.util.Properties
import java.io.FileInputStream

plugins {
    id("com.android.application")
    id("kotlin-android")
    id("dev.flutter.flutter-gradle-plugin")
}

android {
    namespace = ""
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_11.toString()
    }

    defaultConfig {
        applicationId = ""
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    val keystoreProperties = Properties()
    val keystorePropertiesFile = rootProject.file("key.properties")
    if (keystorePropertiesFile.exists()) {
        keystoreProperties.load(FileInputStream(keystorePropertiesFile))
    }

    signingConfigs {
        create("release") {
            keyAlias = keystoreProperties["keyAlias"] as String
            keyPassword = keystoreProperties["keyPassword"] as String
            storeFile = file(keystoreProperties["storeFile"] as String)
            storePassword = keystoreProperties["storePassword"] as String
        }
    }

    buildTypes {
        getByName("release") {
            isMinifyEnabled = false
            isShrinkResources = false
            signingConfig = signingConfigs.getByName("release")
        }
    }
}

flutter {
    source = "../.."
}
반응형