Android Studio项目中Build.gradlle配置详解

许多对gradlle不了解的宝宝们总是会在配置的过程中遇到一系列的问题,大体都是对gradlle不够了解。所以在此详细说明gradlle中每一项的用处,如下

  1. apply plugin: 'com.android.application'//说明module的类型,com.android.application为程序,com.android.library为库  
  2. android {  
  3.     compileSdkVersion 22//编译的SDK版本  
  4.     buildToolsVersion "22.0.1"//编译的Tools版本  
  5.     defaultConfig {//默认配置  
  6.         applicationId "com.nd.famlink"//应用程序的包名  
  7.         minSdkVersion 8//支持的最低版本  
  8.         targetSdkVersion 19//支持的目标版本  
  9.         versionCode 52//版本号  
  10.         versionName "3.0.1"//版本名  
  11.         manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"hsq" ]//声明友盟渠道名是可变的  
  12.     }  
  13.     sourceSets {//目录指向配置  
  14.         main {  
  15.             manifest.srcFile 'AndroidManifest.xml'//指定AndroidManifest文件  
  16.             java.srcDirs = ['src']//指定source目录  
  17.             resources.srcDirs = ['src']//指定source目录  
  18.             aidl.srcDirs = ['src']//指定source目录  
  19.             renderscript.srcDirs = ['src']//指定source目录  
  20.             res.srcDirs = ['res']//指定资源目录  
  21.             assets.srcDirs = ['assets']//指定assets目录  
  22.             jniLibs.srcDirs = ['libs']//指定lib库目录  
  23.         }  
  24.         debug.setRoot('build-types/debug')//指定debug模式的路径  
  25.         release.setRoot('build-types/release')//指定release模式的路径  
  26.     }  
  27.     signingConfigs {//签名配置  
  28.         release {//发布版签名配置  
  29.             storeFile file("fk.keystore")//密钥文件路径  
  30.             storePassword "123"//密钥文件密码  
  31.             keyAlias "fk"//key别名  
  32.             keyPassword "123"//key密码  
  33.         }  
  34.         debug {//debug版签名配置  
  35.             storeFile file("fk.keystore")  
  36.             storePassword "123"  
  37.             keyAlias "fk"  
  38.             keyPassword "123"  
  39.         }  
  40.     }  
  41.   
  42.     buildTypes {//build类型  
  43.         release {//发布  
  44.             minifyEnabled true//混淆开启  
  45.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'//指定混淆规则文件  
  46.             signingConfig signingConfigs.release//设置签名信息  
  47.         }  
  48.         debug {//调试  
  49.             signingConfig signingConfigs.release  
  50.         }  
  51.     }  
  52.     packagingOptions {  
  53.         exclude 'META-INF/ASL2.0'  
  54.         exclude 'META-INF/LICENSE'  
  55.         exclude 'META-INF/NOTICE'  
  56.         exclude 'META-INF/MANIFEST.MF'  
  57.     }  
  58.   
  59.     lintOptions {  
  60.         abortOnError false//lint时候终止错误上报,防止编译的时候莫名的失败  
  61.     }  
  62.       
  63.     //打包-渠道  
  64.     productFlavors {  
  65.         hsq{}  
  66.         hsq_dx{}  
  67.         hsq_wx{}  
  68.         baidu{}  
  69.         yingyongbao{}  
  70.         ppzhushou{}  
  71.         anzhi{}  
  72.         zhushou360{}  
  73.         huawei{}  
  74.         lenovomm{}  
  75.         wandoujia{}  
  76.         mumayi{}  
  77.         meizu{}  
  78.         youyi{}  
  79.         sougou{}  
  80.     }  
  81.       
  82.     //打包-防渠道代码重复处理  
  83.     productFlavors.all { flavor ->  
  84.         flavor.manifestPlaceholders = [ UMENG_CHANNEL_VALUE:name ]  
  85.     }  
  86. }  
  87.   
  88. dependencies {//依赖  
  89.     compile fileTree(dir: 'libs', exclude: ['android-support*.jar'], include: ['*.jar'])   //编译lib目录下的.jar文件  
  90.     compile project(':Easylink')//编译附加的项目  
  91.     compile project(':ImageLibrary')  
  92.     compile project(':ImageResLibrary')  
  93.     compile project(':Ofdmtransport')  
  94.     compile project(':PullToRefreshLibrary')  
  95.     compile project(':RecorderLibrary')  
  96.     compile project(':WebSocket')  
  97.     compile project(':WidgetLibrary')  
  98.     compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'//编译来自Jcenter的第三方开源库  

至此,就是gradlle的配置详解了,给个好评吧~

猜你喜欢

转载自blog.csdn.net/w13576267399/article/details/78799202