Android - build.gradle配置说明

作者: Allens_Jiang | 来源:发表于2018-01-08 17:10 被阅读234次
    老婆保佑,代码无BUG
    apply plugin: 'com.android.application'//说明module的类型,com.android.application为程序,com.android.library为库  
    android {  
        compileSdkVersion 22//编译的SDK版本  
        buildToolsVersion "22.0.1"//编译的Tools版本  
        defaultConfig {//默认配置  
            applicationId "com.nd.famlink"//应用程序的包名  
            minSdkVersion 8//支持的最低版本  
            targetSdkVersion 19//支持的目标版本  
            versionCode 52//版本号  
            versionName "3.0.1"//版本名  
            manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"hsq" ]//声明友盟渠道名是可变的  
        }  
        sourceSets {//目录指向配置  
            main {  
                manifest.srcFile 'AndroidManifest.xml'//指定AndroidManifest文件  
                java.srcDirs = ['src']//指定source目录  
                resources.srcDirs = ['src']//指定source目录  
                aidl.srcDirs = ['src']//指定source目录  
                renderscript.srcDirs = ['src']//指定source目录  
                res.srcDirs = ['res']//指定资源目录  
                assets.srcDirs = ['assets']//指定assets目录  
                jniLibs.srcDirs = ['libs']//指定lib库目录  
            }  
            debug.setRoot('build-types/debug')//指定debug模式的路径  
            release.setRoot('build-types/release')//指定release模式的路径  
        }  
        signingConfigs {//签名配置  
            release {//发布版签名配置  
                storeFile file("fk.keystore")//密钥文件路径  
                storePassword "123"//密钥文件密码  
                keyAlias "fk"//key别名  
                keyPassword "123"//key密码  
            }  
            debug {//debug版签名配置  
                storeFile file("fk.keystore")  
                storePassword "123"  
                keyAlias "fk"  
                keyPassword "123"  
            }  
        }  
      
        buildTypes {//build类型  
            release {//发布  
                minifyEnabled true//混淆开启  
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'//指定混淆规则文件  
                signingConfig signingConfigs.release//设置签名信息  
            }  
            debug {//调试  
                signingConfig signingConfigs.release  
            }  
        }  
        packagingOptions {  
            exclude 'META-INF/ASL2.0'  
            exclude 'META-INF/LICENSE'  
            exclude 'META-INF/NOTICE'  
            exclude 'META-INF/MANIFEST.MF'  
        }  
      
        lintOptions {  
            abortOnError false//lint时候终止错误上报,防止编译的时候莫名的失败  
        }  
          
        //打包-渠道  
        productFlavors {  
            hsq{}  
            hsq_dx{}  
            hsq_wx{}  
            baidu{}  
            yingyongbao{}  
            ppzhushou{}  
            anzhi{}  
            zhushou360{}  
            huawei{}  
            lenovomm{}  
            wandoujia{}  
            mumayi{}  
            meizu{}  
            youyi{}  
            sougou{}  
        }  
          
        //打包-防渠道代码重复处理  
        productFlavors.all { flavor ->  
            flavor.manifestPlaceholders = [ UMENG_CHANNEL_VALUE:name ]  
        }  
    }  
      
    dependencies {//依赖  
        compile fileTree(dir: 'libs', exclude: ['android-support*.jar'], include: ['*.jar'])   //编译lib目录下的.jar文件  
        compile project(':Easylink')//编译附加的项目  
        compile project(':ImageLibrary')  
        compile project(':ImageResLibrary')  
        compile project(':Ofdmtransport')  
        compile project(':PullToRefreshLibrary')  
        compile project(':RecorderLibrary')  
        compile project(':WebSocket')  
        compile project(':WidgetLibrary')  
        compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'//编译来自Jcenter的第三方开源库  
    }  
    

    参考

    Android Studio里面的Build.gradle的详细配置说明

    相关文章

      网友评论

        本文标题:Android - build.gradle配置说明

        本文链接:https://www.haomeiwen.com/subject/jmibnxtx.html