Android 颤振-多种建筑类型的支撑建筑

Android 颤振-多种建筑类型的支撑建筑,android,flutter,gradle,Android,Flutter,Gradle,我在android项目中创建了3种构建类型: buildTypes { release { signingConfig signingConfigs.release resValue "string", "app_name", "AppName" } debug { applicationIdSuffix "

我在android项目中创建了3种构建类型:

buildTypes {
        release {
            signingConfig signingConfigs.release
            resValue "string", "app_name", "AppName"
        }
        debug {
            applicationIdSuffix ".debug"
            resValue "string", "app_name", "AppName - DEV"
        }
        staging {
            initWith release
            matchingFallbacks = ['release']
            applicationIdSuffix ".debug"
        }
    }
我想组装我的暂存构建类型,所以我运行了“颤振构建apk--staging”,但颤振找不到该选项:

Could not find an option named "staging".
似乎颤振构建apk命令“颤振构建apk”只支持3种类型:调试、配置文件、发布;如果使用自定义buildType,则不支持该功能


是否可以构建自定义构建类型的apk?

我最终使用了productFlavors:

flavorDimensions 'app'


productFlavors {
        dev {
            dimension "app"
            resValue "string", "app_name", "AppName - DEV"
            applicationIdSuffix ".debug"
        }
        staging {
            dimension "app"
            resValue "string", "app_name", "AppName - DEV"
            applicationIdSuffix ".debug"
        }
        prod {
            dimension "app"
            resValue "string", "app_name", "AppName"
        }
    }

我有一个解决这个问题的方法,打开
$flatterroot/packages/flatter\u tools/gradle/flatter.gradle
find
project.android.buildTypes


将构建类型添加到此块中,然后返回到android项目,使缓存失效/重新启动。

一种解决方案是使用android自己的Gradle构建任务,而不是使用flatter命令

  • cd-android/
  • /gradlew应用程序:构建

  • 然后,在成功构建之后,您应该能够在
    build/app/outputs/apk/
    中找到每个构建类型的apk,我相信您只能使用--flavor并指定flavor:/(有关更多信息,请参阅
    flatter help build apk
    的输出)。@martincorncini谢谢,所以这意味着Flatter不支持多种构建类型?请不要引用我的话,我对Flatter的经验相当有限,但在看到你的问题后,我花了一点时间研究,还没有找到一种方法,也许一个更有经验的Flatter开发人员可以插话:)(更新:你读过吗?)?它提到您可以在AS项目中更改“构建变量”。。。也许是这样的?这就是我注意到的:->是的,它说的是
    发行版
    ,但屏幕截图显示了各种版本变体。是的,我也找不到足够的信息。屏幕截图显示,他们使用3种构建类型,即调试、发布和概要文件,还有一种称为“动态”的风格。我想现在唯一的解决办法是将“staging”重命名为“profile”。尽管如此,仍然没有超过3种构建类型的支持。