내가 찾은 해결책은 사용자가 other.gradle
파일에있는 것들을 매핑하는 것을 의미합니다. 당신의 build.gradle
파일에 다음
def getVersionName = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--tags'
standardOutput = stdout
}
return stdout.toString().trim()
}
ext{
VERConsts = [:]
VERConsts['NAME'] = getVersionName()
VERConsts['NAME_CALL'] = getVersionName
}
:
apply from: 'other.gradle'
// ...
android {
defaultConfig {
versionName VERConsts['NAME_CALL']()
// or
versionName VERConsts['NAME']
}
}
는 다음,
versionName
는 호출 결과를해야합니다. 참고
:
VERConsts['NAME'] = getVersionName()
getVersionName()
를 호출하고 그 결과를 저장합니다. 예 : 스크립트에서 사용 versionName VERConsts['NAME']
그러면 저장된 값이 지정됩니다.
VERConsts['NAME_CALL']
대신 함수에 대한 참조가 저장됩니다. 실제로 함수를 호출 전자는 같은 값 발생합니다
후자는 서로 다른 값을 초래할 수도 있지만 스크립트를 통해 할당되는은 (예를 들어, 누군가가 또 다른 변수 밀어 경우에 결과를 할당합니다 스크립트에서 VERConsts['NAME_CALL']()
사용 스크립트가 실행되는 동안 버전).
감사합니다. 0.8이 그 기능을 지원한다고 생각하십니까? –
아니요, 0.9의 새로운 기능입니다. –
grrrr, 링크가 끊어졌으며, 지금 당장 자신을 파고 드십시오. –