Flutter:构建 APK 时如何传递 Gradle 参数?

Ale*_*nin 5 android flutter

使用 Gradle 构建常规 Android 应用程序时,我可以添加如下参数:

./gradlew assembleRelease -Pusername=foo -Ppassword=bar
Run Code Online (Sandbox Code Playgroud)

使用 Flutter,我应该调用以下命令来组装 APK:

flutter build apk
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何将参数传递给 Gradle?

PS 我正在尝试在管道配置中使用 Jenkins 凭据。我不想公开我的密码,因此避免使用参数并将其直接放入项目中不是一种选择。

spa*_*ici 5

您可以通过环境传递变量,我在 Jenkins 中使用这种方法。可以将作业配置为通过环境变量传递凭据。

在您的build.gradle(需要时):

username = System.getenv('SECRET_USERNAME')
password = System.getenv('SECRET_PASSWORD')
Run Code Online (Sandbox Code Playgroud)

请注意,如果未定义变量,则System.getenv(...)返回null

在您的开发环境中,您应该导出变量:

username = System.getenv('SECRET_USERNAME')
password = System.getenv('SECRET_PASSWORD')
Run Code Online (Sandbox Code Playgroud)

拜托,我不知道您使用的是哪个 IDE,但 IntelliJ 和 AndroidStudio 都支持声明环境变量。