使用Gradle构建常规的Android应用时,我可以这样添加参数:
./gradlew assembleRelease -Pusername=foo -Ppassword=bar
在Flutter中,我应该以此来组装APK:
flutter build apk
在这种情况下,如何将参数传递给Gradle?
P.S。我正在尝试在管道配置中使用Jenkins凭据。我不想公开密码,因此避免使用参数并将其直接放入项目中是不可能的。
答案 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