-->

Flutter App এর AAB তৈরি করার জন্য Key Properties সেট করার সম্পূর্ণ গাইড

 Flutter App এর AAB তৈরি করার জন্য Key Properties সেট করার সম্পূর্ণ গাইড


বর্তমানে Google Play Store-এ অ্যাপ আপলোড করার জন্য APK নয়, AAB (Android App Bundle) বাধ্যতামূলক। Flutter দিয়ে তৈরি অ্যাপ Play Store-এ আপলোড করতে হলে অবশ্যই সঠিকভাবে key.propertiessigning configuration সেট করতে হয়।

এই পোস্টে আমরা ধাপে ধাপে দেখব কীভাবে Flutter অ্যাপের জন্য AAB তৈরি করতে key properties সেট করতে হয়


AAB কী এবং কেন প্রয়োজন?

AAB (Android App Bundle) হলো Google-এর নতুন ফরম্যাট, যার মাধ্যমে Play Store ব্যবহারকারীর ডিভাইস অনুযায়ী অপ্টিমাইজড APK তৈরি করে দেয়। এর ফলে:

  • App size কম হয়
  • Performance ভালো হয়
  • Play Store upload বাধ্যতামূলক


ধাপ ১: Keystore তৈরি করা

প্রথমেই আমাদের একটি keystore তৈরি করতে হবে।

টার্মিনাল বা Command Prompt খুলে নিচের কমান্ডটি চালান:

keytool -genkey -v -keystore upload-keystore.jks \ -keyalg RSA -keysize 2048 -validity 10000 -alias upload


For Windows

keytool -genkey -v -keystore $env:USERPROFILE\upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload



Example Code: আপনার কোড এরকম হতে পারে

& "C:\Androidstudio\jbr\bin\keytool.exe" -genkey -v -keystore tally-counterpro.keystore -alias tally-counterpro -keyalg RSA -keysize 2048 -validity 10000


এখানে আপনাকে দিতে হবে:

  • Keystore Password
  • Key Password
  • নাম, organisation, দেশ ইত্যাদি তথ্য

✔️ এই upload-keystore.jks ফাইলটি খুবই গুরুত্বপূর্ণ। এটি হারালে ভবিষ্যতে অ্যাপ আপডেট করা সম্ভব হবে না।


ধাপ ২: key.properties ফাইল তৈরি করা

Flutter প্রজেক্টের ভেতরে নিচের path-এ একটি ফাইল তৈরি করুন:

android/key.properties

এর ভেতরে লিখুন:

storePassword=আপনার_keystore_password keyPassword=আপনার_key_password keyAlias=upload storeFile=../upload-keystore.jks


Example:
storePassword=12312300 keyPassword=12312300 keyAlias=rankmath
storeFile=../rankmath.keystore

🔒 সিকিউরিটি টিপস:
এই ফাইলটি কখনোই GitHub বা অন্য কোথাও পাবলিক করবেন না।

✅ কোথায় রাখবেন rankmath.keystore?

সবচেয়ে recommended ও safe জায়গা হলো:

FlutterProject/ ├─ android/ │ ├─ app/ │ ├─ rankmaster.keystore ✅ এখানে │ ├─ key.properties │ └─ build.gradle ├─ lib/ └─ pubspec.yaml

অর্থাৎ android/ ফোল্ডারের ভেতরে রাখবেন।


ধাপ ৩: build.gradle এ Signing Config সেট করা

এখন ফাইলটি খুলুন:

android/app/build.gradle

১) ফাইলের শুরুতে যোগ করুন:

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

২) android {} ব্লকের ভিতরে যোগ করুন:

signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false shrinkResources false } }

build.gradle.kts এ Signing Config সেট করা


[project]/android/app/build.gradle.kts

এই ফাইলে সবার উপরে

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

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

এরপর android { ব্লক এর মধ্যে 

Add the signing configuration before the buildTypes property block inside the android property block.

    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") {
            signingConfig = signingConfigs.getByName("release")
            isMinifyEnabled = false
            isShrinkResources = false
        }
    }


সম্পূর্ণ build.gradle.kts ফাইল এরকম হবে -

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

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

plugins {
    id("com.android.application")
    id("kotlin-android")
    // Flutter Gradle plugin must be applied last
    id("dev.flutter.flutter-gradle-plugin")
}

android {
    namespace = "com.agomoni.rank_master_pro"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

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

    kotlinOptions {
        jvmTarget = "17"
    }

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

    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") {
            signingConfig = signingConfigs.getByName("release")
            isMinifyEnabled = false
            isShrinkResources = false
        }
    }
}

flutter {
    source = "../.."
}

ধাপ ৪: AAB ফাইল তৈরি করা

সব সেটআপ শেষ হলে Flutter প্রজেক্টের root directory থেকে নিচের কমান্ড রান করুন:

flutter build appbundle

সফলভাবে build হলে AAB ফাইল পাবেন এখানে:

build/app/outputs/bundle/release/app-release.aab

এই ফাইলটি এখন Google Play Console-এ আপলোড করতে পারবেন।


গুরুত্বপূর্ণ বিষয়গুলো মনে রাখবেন

  • upload-keystore.jks এবং key.properties ব্যাকআপ রাখুন
  • একবার Play Store-এ আপলোড করলে keystore পরিবর্তন করা যাবে না
  • Play App Signing চালু রাখলে নিরাপত্তা আরও ভালো হয়


উপসংহার

Flutter অ্যাপের AAB তৈরি করতে key.properties সেট করা একটু টেকনিক্যাল মনে হলেও, একবার ঠিকভাবে করলে ভবিষ্যতে আর সমস্যা হয় না। এই গাইড ফলো করলে আপনি সহজেই আপনার Flutter অ্যাপ Play Store-এ প্রকাশ করতে পারবেন।

You May Like Also Also Like This

Post a Comment

0 Comments