【发布时间】:2018-06-14 15:50:15
【问题描述】:
我需要在 build.gradle 中定义一个方法来定义 BuildConfigFields 。我尝试过的如下。
defaultConfig {
initializeBuildConfig()
applicationId com.terser
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ext.initializeBuildConfig = {->
Properties versionProps = new Properties()
versionProps.load(new FileInputStream(file('config.properties')))
def properties_appName = versionProps['APP_NAME']
manifestPlaceholders = [appname:properties_appName]
def properties_authkey=versionProps['AUTH_KEY']
buildConfigField "String", "AUTH_KEY", "\"$properties_authkey\""
}
}
但它不工作给出错误。
在 DefaultConfig_Decorated{name=main, dimension=null, minSdkVersion=null, targetSdkVersion=null, renderscriptTargetApi=null, renderscriptSupportModeEnabled=null, renderscriptSupportModeBlasEnabled=null, renderscriptNdkModeEnabled=null, versionCode 上找不到参数 [] 的方法 initializeBuildConfig() =null,versionName=null,applicationId=null,testApplicationId=null,testInstrumentationRunner=null,testInstrumentationRunnerArguments={},testHandleProfiling=null,testFunctionalTest=null,signingConfig=null,resConfig=null,mBuildConfigFields={},mResValues={}, com.android.build.gradle.internal.dsl.DefaultConfig 类型的 mProguardFiles=[]、mConsumerProguardFiles=[]、mManifestPlaceholders={appname=invite}、mWearAppUnbundled=null}。
谁能帮帮我?我想知道如何在同一个块和其他块中定义一个方法并调用它。另外我如何从方法中返回值
?
我已经签出How to define and call custom methods in build.gradle。那里的答案似乎是正确的,但我无法从上面链接中给出的答案中抓住这个概念。我已经尝试实现相同但得到上述错误。
【问题讨论】:
标签: android android-gradle-plugin build.gradle