AS根目录下的 config.gradle 文件是用来 全局定义项目的配置信息(含compileSdkVersion、targetSdkVersion、versionCode、versionName、项目用到的公共依赖库)
写法示例:
ext {
versionReleaseName = "1.0.00"
android = [
compileSdkVersion: 26,
minSdkVersion : 19,
targetSdkVersion : 22,
versionCode : 13,
versionName : versionReleaseName
]
appId = [
"app": "com.newland.sft",
]
supportV7Library = "26.1.0"
dependencies = [
"appcompat-v7" : "com.android.support:appcompat-v7:${supportV7Library}",
"support-v4" : "com.android.support:support-v4:${supportV7Library}",
"recyclerview-v7" : "com.android.support:recyclerview-v7:${supportV7Library}",
"design" : "com.android.support:design:${supportV7Library}",
"cardview" : "com.android.support:cardview-v7:${supportV7Library}",
"junit" : "junit:junit:4.12",
"runner" : "com.android.support.test:runner:1.0.2",
"espresso-core" : "com.android.support.test.espresso:espresso-core:3.0.2",
"constraint-layout": "com.android.support.constraint:constraint-layout:1.1.2",
"logger": "com.orhanobut:logger:2.1.1",
"gson": "com.google.code.gson:gson:2.8.2"
]
}
写好config.gradle文件后,需要到项目的根build.gradle文件里加上一句应用代码:
apply from: "config.gradle"
当有的模块需要用到公共配置文件config.gradle里面定义的信息,如三方依赖库,可以这样进行引用 ext闭包 :
apply plugin: 'com.android.application'
def cfg = rootProject.ext.android // 引用ext闭包
def appid = rootProject.ext.appId // 引用ext中定义的appId字段
def dependLib = rootProject.ext.dependencies // 引用ext中定义的dependencies字段
android {
compileSdkVersion cfg.compileSdkVersion
defaultConfig {
applicationId appid['app']
minSdkVersion cfg.minSdkVersion
targetSdkVersion cfg.targetSdkVersion
versionCode cfg.versionCode
versionName cfg.versionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
// 引用依赖库
implementation dependLib['appcompat-v7']
implementation dependLib['design']
implementation dependLib['constraint-layout']
testImplementation dependLib['junit']
androidTestImplementation dependLib['runner']
androidTestImplementation dependLib['espresso-core']
implementation dependLib['logger']
implementation project(':picker')
implementation project(':command')
implementation project(':b_bank_card')
implementation project(':b_pos_tong')
implementation project(':b_public')
}
//定义签名
signingConfigs {
newland {
keyAlias 'androiddebugkey'
keyPassword 'android'
storeFile file('../xxx.keystore')
storePassword 'android'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//使用签名newland
signingConfig signingConfigs.newland
}
debug {
signingConfig signingConfigs.newland
}
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
网友评论