可新建gradle也可在工程下的build.gradle里加入
def supportVersion = "24.+"
def retrofit2 = "2.1.0"
ext {
minSdkVersion = 15
targetSdkVersion = 24
compileSdkVersion = 24
buildToolsVersion = "24.0.3"
sourceCompatibilityVersion = JavaVersion.VERSION_1_7
targetCompatibilityVersion = JavaVersion.VERSION_1_7
deps = [
"appcompat_v7" : "com.android.support:appcompat-v7:${supportVersion}",
"support_v4" : "com.android.support:support-v4:${supportVersion}",
"design" : "com.android.support:design:${supportVersion}",
"cardview_v7" : "com.android.support:cardview-v7:${supportVersion}",
"recyclerview_v7" : "com.android.support:recyclerview-v7:${supportVersion}",
"retrofit" : "com.squareup.retrofit2:retrofit:${retrofit2}",
"converter_gson" : "com.squareup.retrofit2:converter-gson:${retrofit2}",
"converter_scalars" : "com.squareup.retrofit2:converter-scalars:${retrofit2}",
"adapter_rxjava" : "com.squareup.retrofit2:adapter-rxjava:${retrofit2}",
"rxAndroid" : 'io.reactivex:rxandroid:1.2.1',
"rxjava" : 'io.reactivex:rxjava:1.1.6',
"okhttp" : 'com.squareup.okhttp3:okhttp:3.4.1',
"butterknife" : 'com.jakewharton:butterknife:8.4.0',
"butterknife_compiler" : "com.jakewharton:butterknife-compiler:8.4.0",
"rxbinding" : 'com.jakewharton.rxbinding:rxbinding:0.4.0',
"rxbinding_support_v4" : 'com.jakewharton.rxbinding:rxbinding-support-v4:0.4.0',
"rxbinding_appcompat_v7" : 'com.jakewharton.rxbinding:rxbinding-appcompat-v7:0.4.0',
"Java_WebSocket" : 'org.java-websocket:Java-WebSocket:1.3.0',
"picasso" : 'com.squareup.picasso:picasso:2.5.2',
"greendao" : 'org.greenrobot:greendao:3.2.0',
"appUpdate" : 'com.readboy.lee.AppUpdate:appUpdate:3.0.6',
"gson" : "com.google.code.gson:gson:2.8.0",
"glide" : "com.github.bumptech.glide:glide:3.7.0",
"keyboardvisibilityevent": "net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.0.0",
"tagsoup" : "org.ccil.cowan.tagsoup:tagsoup:1.2.1",
//test
"test_junit" : "junit:junit:4.12",
]
}
def appList = [
"app1",
"app2",
"app3"
]
def signProperties = "${rootDir}/sign.properties"
subprojects { project ->
if (appList.contains(project.name)) {
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
File sp = new File(signProperties);
if (sp.exists()) {
Properties props = new Properties()
props.load(new FileInputStream(sp))
signingConfigs {
release {
storeFile file(props['keystore'])
storePassword props['keystore.password']
keyAlias props['keyAlias']
keyPassword props['keyPassword']
}
}
} else
throw new IllegalArgumentException("Sign Properties isn't exist!!")
buildTypes {
release {
signingConfig signingConfigs.release
}
}
compileOptions {
sourceCompatibility rootProject.ext.sourceCompatibilityVersion
targetCompatibility rootProject.ext.targetCompatibilityVersion
}
dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile deps.test_junit
}
}
}
}