继续操作前请注册或者登录。
build.gradle 4.1 KB
apply plugin: 'com.android.application'
//apply plugin: 'com.antfortune.freeline'
apply plugin: 'com.ceabie.dexnkife'
//apply tinker插件
apply plugin: 'com.tencent.tinker.patch'
apply plugin: 'walle'

println '是否编译全部组件' + rootProject.ext.buildAllModule

android {
    useLibrary 'org.apache.http.legacy'
//    freeline {
//        hack true
//        applicationProxy false
//        productFlavor 'dev'
//    }

    compileSdkVersion rootProject.ext.android["compileSdkVersion"]
    buildToolsVersion rootProject.ext.android["buildToolsVersion"]
    resourcePrefix "main_"

    defaultConfig {
        applicationId "com.xdy.edulive"
        minSdkVersion rootProject.ext.android["minSdkVersion"]
        targetSdkVersion rootProject.ext.android["targetSdkVersion"]
        versionCode rootProject.ext.android["versionCode"]
        versionName rootProject.ext.android["versionName"]

        //ADD THIS LINE:
        testInstrumentationRunner rootProject.ext.dependencies["androidJUnitRunner"]
        multiDexEnabled true
        multiDexKeepProguard file("proguard-rules.pro")
    }

    signingConfigs {
        release {
            storeFile file("C:\\DevelopTool\\work_info\\xdy.jks")
            storePassword 'xdy2017'
            keyPassword 'xdy2017'
            keyAlias 'xdy'
        }
        debug {
            storeFile file("C:\\DevelopTool\\work_info\\xdy.jks")
            storePassword 'xdy2017'
            keyPassword 'xdy2017'
            keyAlias 'xdy'
        }
    }

    buildTypes {
        release {
            //是否混淆
            minifyEnabled true
            //是否对apk进行签名
            multiDexEnabled true
            signingConfig signingConfigs.release
            zipAlignEnabled true
            shrinkResources true//去除无用的resource文件,第一次使用
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            multiDexEnabled true
            minifyEnabled false
            signingConfig signingConfigs.debug
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    //Tinker recommend or build failed
    dexOptions {
        jumboMode = true
        javaMaxHeapSize "4g"
    }

    compileOptions {
        sourceCompatibility rootProject.ext.android["javaVersion"]
        targetCompatibility rootProject.ext.android["javaVersion"]
    }

    lintOptions {
        abortOnError false
    }

    productFlavors {
        official {}

        productFlavors.all { flavor ->
        }
    }

    //ADD THESE LINES:
    packagingOptions {
        exclude 'LICENSE.txt'
    }

    //配合AndroidTestCase
    configurations.all {
        resolutionStrategy.force rootProject.ext.dependencies['annotations']
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    //Unit JUnit && ApplicationTest CASE
//    testCompile rootProject.ext.dependencies["junit"]
//    androidTestCompile rootProject.ext.dependencies["espresso-core"]
//    androidTestCompile rootProject.ext.dependencies["runner"]
//    androidTestCompile 'com.android.support.test:rules:0.2'

    //分包、打包及热修复
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.meituan.android.walle:library:1.1.0'
    provided("com.tinkerpatch.sdk:tinkerpatch-android-sdk:1.1.3")

    if (rootProject.ext.buildAllModule) {
        compile project(':home')
        compile project(':OrderModule')
    } else {
        compile project(':CommonLib')
    }

//    releaseCompile project(path: ':commonlibrary', configuration: 'release')
//    debugCompile project(path: ':commonlibrary', configuration: 'debug')
}

walle {
    // 指定渠道包的输出路径
    apkOutputFolder = new File("${project.buildDir}/outputs/channels");
    // 定制渠道包的APK的文件名称
    apkFileNameFormat = '${appName}-${buildType}-${channel}-v${versionName}.apk';
    // 配置渠道文件列表,也可以通过channelList来配置
    channelFile = new File("${project.getProjectDir()}/channels")
}

apply from: 'tinkerpatch.gradle'