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

相关推荐
GISer_Jing3 小时前
2025年Flutter与React Native对比
android·flutter·react native
空中海5 小时前
Flutter核心技术目录
flutter
apigfly6 小时前
Flutter,Compose,Web 在Android平台上从布局到屏幕的机制探究
android·flutter·webview
勇气要爆发10 小时前
【第二阶段-Flutter入门】第四章:常用布局Widget
flutter
QuantumLeap丶10 小时前
《Flutter全栈开发实战指南:从零到高级》- 13 -状态管理GetX
android·flutter·ios·前端框架
woshijunjunstudy12 小时前
Flutter .obx 与 Rxn<T>的区别
flutter·getx
初遇你时动了情18 小时前
flutter vscode 终端无法使用fvm 版本切换、项目运行
ide·vscode·flutter
一叶难遮天1 天前
Dart语言之面向对象
flutter·面向对象·dart·方法·mixins·泛型·抽象类
汤面不加鱼丸1 天前
flutter实践:DropdownButton2使用示例
flutter
心随雨下1 天前
Flutter Material 3设计语言详解
javascript·flutter·设计语言