build.gradle 4.7 KB
Newer Older
xuexiangjys's avatar
xuexiangjys 已提交
1 2
apply plugin: 'com.android.application'
apply plugin: 'com.xuexiang.xaop' //引用xaop插件
xuexiangjys's avatar
xuexiangjys 已提交
3
apply plugin: 'com.xuexiang.xrouter' //引用xrouter-plugin插件实现自动注册
xuexiangjys's avatar
xuexiangjys 已提交
4 5 6 7 8
apply plugin: 'img-optimizer'
//打包时,记得设置true启用
if (isNeedPackage.toBoolean()) {
    apply plugin: 'com.didiglobal.booster'
}
xuexiangjys's avatar
xuexiangjys 已提交
9 10 11 12 13 14 15 16 17 18 19 20

android {
    compileSdkVersion build_versions.target_sdk
    buildToolsVersion build_versions.build_tools

    defaultConfig {
        applicationId "com.xuexiang.templateproject"
        minSdkVersion 17
        targetSdkVersion build_versions.target_sdk
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
xuexiangjys's avatar
xuexiangjys 已提交
21 22 23

        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
xuexiangjys's avatar
xuexiangjys 已提交
24 25 26 27 28 29

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [ moduleName : project.getName() ]
            }
        }
xuexiangjys's avatar
xuexiangjys 已提交
30 31
    }

xuexiangjys's avatar
xuexiangjys 已提交
32 33
    signingConfigs {
        if (isNeedPackage.toBoolean()) {
xuexiangjys's avatar
xuexiangjys 已提交
34 35 36 37 38 39 40
            release {
                storeFile file(app_release.storeFile)
                storePassword app_release.storePassword
                keyAlias app_release.keyAlias
                keyPassword app_release.keyPassword
            }
        }
xuexiangjys's avatar
xuexiangjys 已提交
41 42 43 44 45 46 47

        debug {
            storeFile file("./debug.jks")
            storePassword "123456"
            keyAlias "debug"
            keyPassword "123456"
        }
xuexiangjys's avatar
xuexiangjys 已提交
48 49 50 51 52 53 54 55
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (isNeedPackage.toBoolean()) {
                signingConfig signingConfigs.release
xuexiangjys's avatar
xuexiangjys 已提交
56 57 58

                Properties properties = new Properties()
                properties.load(project.rootProject.file('local.properties').newDataInputStream())
xuexiangjys's avatar
xuexiangjys 已提交
59 60 61 62 63 64
                def appID = properties.getProperty("APP_ID_UMENG")
                if (appID != null) {
                    buildConfigField "String", "APP_ID_UMENG", appID
                } else {
                    buildConfigField "String", "APP_ID_UMENG", '""'
                }
xuexiangjys's avatar
xuexiangjys 已提交
65 66 67
            } else {
                signingConfig signingConfigs.debug
                buildConfigField "String", "APP_ID_UMENG", '""'
xuexiangjys's avatar
xuexiangjys 已提交
68 69 70
            }
        }

xuexiangjys's avatar
xuexiangjys 已提交
71 72 73 74 75 76
        debug {
            debuggable true
            minifyEnabled false

            signingConfig signingConfigs.debug
            buildConfigField "String", "APP_ID_UMENG", '""'
xuexiangjys's avatar
xuexiangjys 已提交
77 78 79 80 81 82
        }
    }

    lintOptions {
        abortOnError false
    }
xuexiangjys's avatar
xuexiangjys 已提交
83 84 85 86 87

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
xuexiangjys's avatar
xuexiangjys 已提交
88 89 90 91 92 93 94 95
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation deps.junit
    androidTestImplementation deps.runner
    androidTestImplementation deps.espresso.core

xuexiangjys's avatar
xuexiangjys 已提交
96 97
    implementation deps.androidx.multidex

xuexiangjys's avatar
xuexiangjys 已提交
98
    //XUI框架
xuexiangjys's avatar
xuexiangjys 已提交
99
    implementation 'com.github.xuexiangjys:XUI:1.0.7'
xuexiangjys's avatar
xuexiangjys 已提交
100 101 102 103 104
    implementation deps.androidx.appcompat
    implementation deps.androidx.recyclerview
    implementation deps.androidx.design
    implementation deps.glide

xuexiangjys's avatar
xuexiangjys 已提交
105 106
    //XUtil工具类
    implementation 'com.github.xuexiangjys.XUtil:xutil-core:1.1.5'
107 108
    //XAOP切片,版本号前带x的是支持androidx的版本
    implementation 'com.github.xuexiangjys.XAOP:xaop-runtime:x1.0.3'
xuexiangjys's avatar
xuexiangjys 已提交
109
    //XUpdate版本更新
xuexiangjys's avatar
xuexiangjys 已提交
110
    implementation 'com.github.xuexiangjys:XUpdate:1.0.9'
xuexiangjys's avatar
xuexiangjys 已提交
111 112
    //屏幕适配AutoSize
    implementation 'me.jessyan:autosize:1.1.2'
xuexiangjys's avatar
xuexiangjys 已提交
113 114 115 116 117 118 119
    //XHttp2
    implementation 'com.github.xuexiangjys:XHttp2:1.0.2'
    implementation deps.rxjava2
    implementation deps.rx_android
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    implementation deps.gson
    //XPage
xuexiangjys's avatar
xuexiangjys 已提交
120 121
    implementation 'com.github.xuexiangjys.XPage:xpage-lib:2.2.6'
    annotationProcessor 'com.github.xuexiangjys.XPage:xpage-compiler:2.2.6'
xuexiangjys's avatar
xuexiangjys 已提交
122 123 124
    //页面路由
    implementation 'com.github.xuexiangjys.XRouter:xrouter-runtime:1.0.1'
    annotationProcessor 'com.github.xuexiangjys.XRouter:xrouter-compiler:1.0.1'
xuexiangjys's avatar
xuexiangjys 已提交
125 126 127 128 129 130 131
    //ButterKnife的sdk
    implementation deps.butterknife.runtime
    annotationProcessor deps.butterknife.compiler
    //如果开启了内存泄漏监测leak,就需要加上这个依赖
    debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
    releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3'
    testImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3'
xuexiangjys's avatar
xuexiangjys 已提交
132 133 134 135 136 137 138

    //umeng统计
    implementation 'com.umeng.umsdk:analytics:8.0.2'
    implementation 'com.umeng.umsdk:common:2.0.2'

    //美团多渠道打包
    implementation 'com.meituan.android.walle:library:1.1.6'
xuexiangjys's avatar
xuexiangjys 已提交
139
}
xuexiangjys's avatar
xuexiangjys 已提交
140 141 142 143

//walle多渠道打包
apply from: 'multiple-channel.gradle'