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 小时前
Dart 之类修饰符
android·flutter·dart
好的佩奇0115 小时前
Dart 之类修饰符
android·flutter·dart
Jewel10516 小时前
文字为什么总是不居中!记录一个bug
android·flutter·ios
2601_949847751 天前
Form-data 跨端三方库仓颉适配全流程
前端·javascript·flutter
大龄秃头程序员2 天前
Flutter 中我为什么把 GetX 定位为高效率方案,而不是默认架构方案
flutter
传奇开心果编程2 天前
组合优先开发范式:从汉字造字原理到声明式UI组件组合思想
android·flutter·ios·swiftui·移动开发·harmonyos·android jetpack
2501_944521592 天前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
大龄秃头程序员2 天前
Flutter 架构里总被混淆的 IoC、DI、Service Locator,到底是什么关系?
flutter
事圆则缓3 天前
Flutter 与原生交互的最后一层:RTC 视频帧怎么走
flutter·音视频·实时音视频
2601_949847753 天前
jose 跨端三方库仓颉适配全流程
前端·javascript·flutter