Flutter如何创建一个企业级项目-Android篇(二)

1,设置安卓签名
xml 复制代码
keytool -genkey -alias <your_alias_name> -keypass <your_pwd> -storepass <your_pwd> -keyalg RSA -keysize 2048 -validity 36500 -storetype pkcs12 -keystore <your_path>.jks
2, 设置 android/app/build.gradle

通过配置 productFlavors,可以配置不同环境的包名和App名字等

java 复制代码
defaultConfig {
        applicationId "com.ski.pollka.snow.dev"
        // Android 6.0 (App Links minimum support Android 6.0)
        minSdkVersion 23
        // Android 12+,Google play requirements
        targetSdkVersion 33
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    flavorDimensions "env"
    productFlavors {
        dev {
            dimension "env"
            applicationId "com.ski.pollka.snow.dev"
            resValue "string", "app_name", "Pollka Snow Dev"
            signingConfig signingConfigs.pollkaSnow
        }
        qa {
            dimension "env"
            applicationId "com.ski.pollka.snow.qa"
            resValue "string", "app_name", "Pollka Snow Test"
            signingConfig signingConfigs.pollkaSnow
        }
        product  {
            dimension "env"
            applicationId "com.ski.pollka.snow.product"
            resValue "string", "app_name", "Pollka Snow"
            signingConfig signingConfigs.pollkaSnow
        }
        
    }

    signingConfigs {
        pollkaSnow {
            storeFile file('<name>.jks')
            storePassword "<storePassword>"
            keyAlias "<keyAlias>"
            keyPassword "<keyPassword>"
        }
    }

    buildTypes {
        debug {
            // Signature needs to be set to use App link
           // If set to null, channel signature will be used, if not set, system default signature will be used
           signingConfig null
        }
        profile {
            signingConfig null
        }
        release {
            ndk{
                abiFilters 'armeabi-v7a','arm64-v8a'
            }
            signingConfig null
            debuggable false
            // https://developer.android.com/studio/build/shrink-code?utm_source=android-studio#shrink-resources
            zipAlignEnabled true
            minifyEnabled true
            shrinkResources true
    
        }
    }
3,修改 android/app/scr/main/AndroidManifest.xml, 配置安卓不同环境的App名称
ini 复制代码
android:label="pollka_snow"
->
android:label="@string/app_name"
4,运行结果

VSCode 依次运行安装 pollka-snow-dev/qa/product App

相关推荐
坚果的博客3 小时前
Flutter-OH 3.44.9-dev 悄然上线|首个 OpenHarmony Canary 预览版上线
flutter
大龄秃头程序员3 小时前
Flutter 动画随笔:业务里真正高频的几类控件
flutter
天空之城--4 小时前
Android Flutter行业最新动态与实用参考(2026年8月第2周)
android·flutter
恋猫de小郭5 小时前
Flutter 3.47 发布,快来看看有什么更新吧
android·前端·flutter
大龄秃头程序员20 小时前
一次 Flutter 动画 Demo 的整理与复盘
flutter
AlexMaybeBot1 天前
躺在沙发上开发 Openclaw 的移动端APP
前端·flutter
天空之城--1 天前
Android Flutter行业动态与学习参考(2026年8月)
android·flutter
FungLeo1 天前
Flutter Web token 存储陷阱:crypto.subtle 在非安全上下文失效排查实录
前端·安全·flutter
FungLeo1 天前
Flutter Web 中文字体困境与渲染器选择:CanvasKit vs HTML renderer 实战
前端·flutter·html
杉氧1 天前
原生交互:如何在 Flutter 中嵌入 Android/iOS 原生组件并解决手势冲突
android·flutter·dart