如何访问另一个 gradle 文件的值?
How to get acces to values from another gradle file?
好的,这是我现在的 build.gradle:
apply plugin: 'com.android.application'
apply from: '../config.gradle'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId ""
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
resValue "int", "amountOfTables", amountOfTables
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
howManyTables.execute()
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.pnikosis:materialish-progress:1.4'
}
那就是 config.gradle:
def amountOfTables = 15
task howManyTables << {
println amountOfTables
}
问题是:
为什么我可以从 config.gradle 访问 howManyTables 任务。但是无法访问定义的变量?我想使用预定义值创建自定义 config.gradle。然后在我的 Android 应用程序中将它们用作变量。 (如 baseURL、数据类型等)。而他们,根据这些数据构建我的逻辑。无论如何,我希望问题很清楚;)有什么想法吗?
因为您使用 def
定义了变量 - 所以它在脚本本身中是 local。尝试:
config.gradle
project.ext.amountOfTables = 15
build.gradle
apply from: 'config.gradle' //correct path should be here
println project.amountOfTables
好的,这是我现在的 build.gradle:
apply plugin: 'com.android.application'
apply from: '../config.gradle'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId ""
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
resValue "int", "amountOfTables", amountOfTables
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
howManyTables.execute()
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.pnikosis:materialish-progress:1.4'
}
那就是 config.gradle:
def amountOfTables = 15
task howManyTables << {
println amountOfTables
}
问题是: 为什么我可以从 config.gradle 访问 howManyTables 任务。但是无法访问定义的变量?我想使用预定义值创建自定义 config.gradle。然后在我的 Android 应用程序中将它们用作变量。 (如 baseURL、数据类型等)。而他们,根据这些数据构建我的逻辑。无论如何,我希望问题很清楚;)有什么想法吗?
因为您使用 def
定义了变量 - 所以它在脚本本身中是 local。尝试:
config.gradle
project.ext.amountOfTables = 15
build.gradle
apply from: 'config.gradle' //correct path should be here
println project.amountOfTables