Android之Gradle配置本地编译环境
2018-03-15 本文已影响0人
吃饱了就送
Gradle下载地址:https://services.gradle.org/distributions/
在Android Studio项目中,rootProject下面会生成gradle.properties和local.properties文件。

properties里面的数据格式采用键值对的方式,大概有以下几种写法:
- key=value
- key:value
- key :value
- '#' 作为注释
注意: 在Android Studio 中最好使用第一种写法,要不会有警告。.properties 中的数据类型都是 String 类型,使用其他数据类型需要自行转换。
.properties 非常有用的地方:在Android项目中的任何一个 build.gradle 文件中都可以把.properties 中的常量读取出来,不管这个 build.gradle 是组件的还是整个项目工程的;
实战,在gradle使用本地保存的buildToolsVersion:
Properties properties = new Properties()
InputStream inputStream = project.rootProject.file('local.properties').newDataInputStream() ;
properties.load( inputStream )
def localBuildToolsVersion = properties.getProperty("buildToolsVersion")
buildToolsVersion localBuildToolsVersion

也可以在根gradle中配置
ext {
compileSdkVersion = 26
buildToolsVersion = '26.0.2'
applicationId = "com.ciotimes.app"
minSdkVersion = 19
targetSdkVersion = 21
versionCode = 1
versionName = "v1.0 "
supportVersion = '25.2.0'
}

在moudle的gradle使用
defaultConfig {
applicationId rootProject.ext.applicationId
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
buildConfigField("String", "KEY", 'app')
ndk {
//设置支持的SO库架构
abiFilters 'armeabi' //, 'arm64-v7a', 'x86' , 'x86_64','arm64-v8a',
}
}
BuildConfig的使用
在上面defaultConfig中配置了buildConfigField,这个参数会在BuildConfig类中生成,可以在APP中直接调用
最后是最重要的一步,一定要将.properties 从版本控制工具(Git、SVN)中给忽略掉,千万不要把这个文件提交到代码仓库;然后把配置好的.properties 给每个开发人员发一份,供他们本地使用,至于.properties 中的版本号根据他们自己需要修改,反正不会传到代码仓库。