Gradle统一配置工程下每个project

来源:互联网 发布:美即面膜怎么样知乎 编辑:程序博客网 时间:2024/06/06 19:03

可新建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            }        }    }}






0 0
原创粉丝点击