build.gradle 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. apply plugin: 'com.android.application'
  2. apply plugin: 'com.getkeepsafe.dexcount'
  3. //定义时间
  4. def releaseTime() {
  5. // return new Date().format("yyyyMMdd.HHmm.ss")
  6. return new Date().format("yyyyMMdd")
  7. }
  8. //设置发布的显示的版本号
  9. def getVersionName() {
  10. return rootProject.ext.android.versionName
  11. }
  12. //读取版本号
  13. def getVersionCode() {
  14. def versionFile = file('version.properties')
  15. if (versionFile.canRead()) {
  16. Properties versionProps = new Properties()
  17. versionProps.load(new FileInputStream(versionFile))
  18. def versionName = versionProps['versionName'].toInteger()
  19. def versionCode = versionProps['versionCode'].toInteger()
  20. def debugName = versionProps['debugName'].toInteger()
  21. def debugCode = versionProps['debugCode'].toInteger()
  22. def versionArray = new Integer[4]
  23. def runTasks = gradle.startParameter.taskNames //仅在assembleRelease任务是增加版本号
  24. println 'runTasks:' + runTasks
  25. if (':WeiChat:assembleBaiduDebug' in runTasks) {
  26. println 'runTasks:' + 'debug模式打包apk'
  27. versionProps['debugCode'] = (++debugCode).toString()
  28. versionProps['debugName'] = (++debugName).toString()
  29. versionProps.store(versionFile.newWriter(), null)
  30. }
  31. if (':WeiChat:assembleBaiduRelease' in runTasks) {
  32. println 'runTasks:' + '发布模式打包apk'
  33. versionProps['versionCode'] = (++versionCode).toString()
  34. versionProps['versionName'] = (++versionName).toString()
  35. versionProps.store(versionFile.newWriter(), null)
  36. }
  37. versionArray[0] = versionName
  38. versionArray[1] = versionCode
  39. versionArray[2] = debugName
  40. versionArray[3] = debugCode
  41. println versionArray[0].toString()
  42. return versionArray
  43. } else {
  44. throw new GradleException("Could not find version.properties!")
  45. }
  46. }
  47. android {
  48. def versionArray = getVersionCode()
  49. dexOptions {
  50. javaMaxHeapSize "4g" //specify the heap size for the dex process
  51. preDexLibraries = false //delete the already predexed libraries
  52. //是否支持大工程模式
  53. jumboMode = true
  54. }
  55. compileOptions {
  56. sourceCompatibility JavaVersion.VERSION_1_8
  57. targetCompatibility JavaVersion.VERSION_1_8
  58. }
  59. signingConfigs {
  60. config {
  61. storeFile file('C:/sigin/applicationsignname[20150409]')
  62. storePassword '13237658359'
  63. keyAlias 'jie-20150409'
  64. keyPassword '13237658359'
  65. }
  66. }
  67. compileSdkVersion rootProject.ext.android.compileSdkVersion
  68. buildToolsVersion rootProject.ext.android.buildToolsVersion
  69. defaultConfig {
  70. def versionNames = "v" + versionArray[0].toString().substring(0, 1) + "." + versionArray[0].toString().substring(1, 2) + "." + versionArray[0].toString().substring(2, 3)
  71. applicationId project.applicationId
  72. minSdkVersion rootProject.ext.android.minSdkVersion
  73. targetSdkVersion rootProject.ext.android.targetSdkVersion
  74. versionCode versionArray[1]
  75. versionName versionNames
  76. multiDexEnabled true
  77. manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
  78. ndk {
  79. abiFilters "armeabi", "armeabi-v7a", "x86", "mips", "x86_64", "mips64"
  80. }
  81. renderscriptTargetApi rootProject.ext.android.compileSdkVersion
  82. renderscriptSupportModeEnabled true
  83. }
  84. useLibrary 'org.apache.http.legacy'
  85. lintOptions {
  86. checkReleaseBuilds false
  87. abortOnError false
  88. }
  89. sourceSets {
  90. main {
  91. jniLibs.srcDirs = ['src/main/jniLibs']
  92. }
  93. }
  94. packagingOptions {
  95. exclude 'META-INF/LICENSE.txt'
  96. exclude 'META-INF/NOTICE.txt'
  97. }
  98. buildTypes {
  99. release {
  100. minifyEnabled false
  101. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  102. signingConfig signingConfigs.config
  103. lintOptions {
  104. checkReleaseBuilds false
  105. abortOnError false
  106. }
  107. }
  108. debug {
  109. }
  110. }
  111. flavorDimensions "usoft"
  112. productFlavors.all {
  113. flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
  114. }
  115. configurations {
  116. all*.exclude group: 'com.android.volley'
  117. }
  118. }
  119. repositories {
  120. flatDir {
  121. dirs 'libs'
  122. }
  123. }
  124. dependencies {
  125. api fileTree(include: ['*.jar'], dir: 'libs')
  126. implementation project(path: ':facesdk')
  127. testImplementation deps.junit
  128. implementation deps.appcompatV7
  129. implementation deps.supportV4
  130. implementation deps.design
  131. implementation(deps.stetho) {
  132. force = true
  133. }
  134. implementation deps.jodatime
  135. implementation deps.systembartint
  136. implementation deps.photoView
  137. implementation deps.tagGroup
  138. // implementation deps.analytics
  139. implementation deps.activityOnCrash
  140. implementation deps.stickyListHeaders
  141. implementation deps.stickyGridHeaders
  142. implementation deps.materialDialogs
  143. implementation deps.okhttp
  144. api project(':common')
  145. api project(':appmessages')
  146. api project(':network')
  147. api project(':imageload')
  148. api project(':applogin')
  149. api project(':apptasks')
  150. api project(':appcontact')
  151. api project(':appme')
  152. api project(':appworks')
  153. api project(':appbooking')
  154. api project(':appmusic')
  155. api project(':apputils')
  156. implementation 'com.android.support.constraint:constraint-layout:1.0.2'
  157. // implementation 'com.android.support:support-v4:28.0.0'
  158. implementation(name: 'autoupdatesdk-release', ext: 'aar')
  159. }
  160. buildscript {
  161. repositories {
  162. mavenCentral()
  163. }
  164. dependencies {
  165. classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.6.4'
  166. }
  167. }
  168. dexcount {
  169. format = "json"
  170. includeClasses = false
  171. includeFieldCount = true
  172. includeTotalMethodCount = false
  173. orderByMethodCount = false
  174. verbose = false
  175. maxTreeDepth = Integer.MAX_VALUE
  176. teamCityIntegration = false
  177. enableForInstantRun = false
  178. }