Flutter android flavors 生成 apk

Jus*_*Ice 5 android dart google-play flutter

我正在尝试使用颤振设置 Android 风格。

我有两个入口点。

lib/main_prod.dart
lib/main_dev.dart
Run Code Online (Sandbox Code Playgroud)

我还在我的 gradle 文件中添加了以下内容

flavorDimensions "version"
productFlavors {
    prod {
        dimension "version"
        applicationIdSuffix ".prod"
    }
    dev {
        dimension "version"
        applicationIdSuffix ".dev"
        versionNameSuffix " Dev"
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试生成两个单独的 apk,我可以用它来发布到 Google Play 商店。

在此处输入图片说明

我去 Android Studio 并尝试生成这些。

但是我收到这个错误。

在此处输入图片说明

Android Studio 仍在尝试查找 main.dart 文件,但是,对于我的两种风格,它们是 main_prod.dart 和 main_dev.dart。我如何告诉 Android Studio 根据我尝试获取 apk 文件的风格来查找合适的主文件。

Jid*_*uru 28

要为每种风格构建 apk 或 appBundle(发布到 Playstore),您可以使用命令(推荐)而不是使用 android studio。

因为prod您可以使用:

APK

flutter build apk --flavor prod -t lib/main_prod.dart
Run Code Online (Sandbox Code Playgroud)

应用程序包

flutter build appbundle --flavor prod -t lib/main_prod.dart
Run Code Online (Sandbox Code Playgroud)

并为 dev

APK

flutter build apk --flavor dev -t lib/main_dev.dart
Run Code Online (Sandbox Code Playgroud)

应用程序包

flutter build appbundle --flavor dev -t lib/main_dev.dart
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的回答。对我来说“appBundle”不起作用。它必须是“appbundle”。 (2认同)

Shy*_*dda 5

上面的命令适用于发布版本,但对于调试版本,您可能需要使用以下命令:

flutter build apk -t lib/main_dev.dart --flavor=dev --debug
Run Code Online (Sandbox Code Playgroud)

否则,可能会抛出此错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:validateSigningDevRelease'.
> Keystore file not set for signing config release

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 5s
Running Gradle task 'assembleDevRelease'...                     6.6s
Gradle task assembleDevRelease failed with exit code 1
Run Code Online (Sandbox Code Playgroud)