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

时间:2019-01-10 15:52:19

标签: android flutter

使用Gradle构建常规的Android应用时,我可以这样添加参数:

./gradlew assembleRelease -Pusername=foo -Ppassword=bar

在Flutter中,我应该以此来组装APK:

flutter build apk

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

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

2 个答案:

答案 0 :(得分:2)

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

在您的build.gradle中(如果需要):

username = System.getenv('SECRET_USERNAME')
password = System.getenv('SECRET_PASSWORD')

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

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

$ export SECRET_USERNAME="my secret username"
$ export SECRET_PASSWORD="my super secret password"

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

答案 1 :(得分:0)

您可以通过诸如ORG_GRADLE_PROJECT_foo=bar之类的环境变量来设置项目属性,这样就不必修改gradle脚本,例如:

export ORG_GRADLE_PROJECT_username=foo 
export ORG_GRADLE_PROJECT_password=bar
flutter build apk

文档:Project properties