许多对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的配置详解了,给个好评吧~