在项目根目录中新建hongx.gradle
文件
ext {
android = [compileSdkVersion: 28,
buildToolsVersion: "28.0.3",
minSdkVersion : 19,
targetSdkVersion : 28,
applicationId : 'com.hongx.music',
versionCode : 1,
versionName : '1.0',
multiDexEnabled : true,]
depsVersion = [appcompact: '28.0.0',
constraint_layout:'1.1.3'
]
depsLibs = [appcompact: "com.android.support:appcompat-v7:${depsVersion.appcompact}",
constraint_layout:"com.android.support.constraint:constraint-layout:${depsVersion.constraint_layout}"
]
}
需要在根build.gradle中添加引用自定义的gradle文件
//引入根工程下的统一版本管理文件
//file是一个文件定位,会从当前工程下找对应文件
apply from: this.rootProject.file('hongx.gradle')
这样根工程中就具有了android、depsVersion、depsLibs属性,子工程也就具有了这些属性。因为gradle中父工程具有的属性,子工程也可以使用。
在app的build.gradle中修改:
android {
compileSdkVersion rootProject.android.compileSdkVersion
buildToolsVersion rootProject.android.buildToolsVersion
defaultConfig {
applicationId rootProject.android.applicationId
minSdkVersion rootProject.android.minSdkVersion
targetSdkVersion rootProject.android.targetSdkVersion
versionCode rootProject.android.versionCode
versionName rootProject.android.versionName
multiDexEnabled rootProject.android.multiDexEnabled
}
...
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation rootProject.depsLibs.appcompact
implementation rootProject.depsLibs.constraint_layout
...
}
在lib_audio Module的build.gradle中修改:
def versionString = '1.0'
def versionNumber = 1
android {
compileSdkVersion rootProject.android.compileSdkVersion
buildToolsVersion rootProject.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.android.minSdkVersion
targetSdkVersion rootProject.android.targetSdkVersion
versionCode versionNumber
versionName versionString
...
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//占位主工程android原生库
compileOnly rootProject.depsLibs.appcompact
...
}