build.gradle 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. plugins {
  2. id 'com.android.application'
  3. id 'dagger.hilt.android.plugin'
  4. id 'stringfog'
  5. id 'com.didi.dokit'
  6. }
  7. def LOCAL = "local", TEST = "test", PROD = "prod"
  8. def getServerHost(String env) {
  9. switch (env) {
  10. case "local":
  11. return "$local_server_host";
  12. case "test":
  13. return "$test_server_host";
  14. case "prod":
  15. return "$prod_server_host";
  16. default:
  17. return "$prod_server_host";
  18. }
  19. }
  20. android {
  21. namespace 'com.datarecovery.master'
  22. compileSdk rootProject.compileSdkVersion
  23. defaultConfig {
  24. applicationId rootProject.applicationId
  25. minSdk rootProject.minSdkVersion
  26. targetSdk rootProject.targetSdkVersion
  27. versionCode rootProject.versionCode
  28. versionName rootProject.versionName
  29. ndk {
  30. //noinspection ChromeOsAbiSupport
  31. abiFilters "arm64-v8a"
  32. }
  33. }
  34. signingConfigs {
  35. debug {
  36. storeFile file("keystore/ltjl.jks")
  37. storePassword "ltjl888"
  38. keyAlias "ltjl"
  39. keyPassword "ltjl888"
  40. }
  41. release {
  42. storeFile file("keystore/ltjl.jks")
  43. storePassword "ltjl888"
  44. keyAlias "ltjl"
  45. keyPassword "ltjl888"
  46. }
  47. }
  48. def env_release = PROD
  49. def env_debug = PROD
  50. buildTypes {
  51. release {
  52. minifyEnabled true
  53. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  54. signingConfig signingConfigs.release
  55. buildConfigField "boolean", "isLocalNetwork", "false"
  56. buildConfigField "boolean", "isSkipVideoAd", "false" //不要修改release的值
  57. buildConfigField "boolean", "isSkipOtherAd", "false" //不要修改release的值
  58. buildConfigField "String", "ENV", "\"$env_release\""
  59. buildConfigField "String", "HOST", "\"${getServerHost(env_release)}\""
  60. buildConfigField "String", "LOCAL", "\"$LOCAL\""
  61. buildConfigField "String", "TEST", "\"$TEST\""
  62. buildConfigField "String", "PROD", "\"$PROD\""
  63. buildConfigField "String", "WECHAT_APP_ID", "\"$wechat_app_id\""
  64. buildConfigField "String", "WECHAT_KF_ID", "\"$wechat_kf_id\""
  65. buildConfigField "String", "WEWORK_CROP_ID", "\"$wework_crop_id\""
  66. buildConfigField "String", "GRAVITY_ACCESS_TOKEN", "\"$gravity_access_token\""
  67. buildConfigField "String", "BUGLY_APP_ID", "\"$bugly_app_id\""
  68. buildConfigField "String", "UMENG_APP_KEY", "\"$umeng_app_key\""
  69. buildConfigField "String", "QIYU_APP_KEY", "\"$qiyu_app_key\""
  70. buildConfigField "String", "ATMOB_CENTRAL_KEY", "\"$atmob_central_key\""
  71. buildConfigField "String", "QUICK_LOGIN_ID", "\"$quick_login_id\""
  72. }
  73. debug {
  74. minifyEnabled false
  75. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  76. signingConfig signingConfigs.debug
  77. buildConfigField "boolean", "isLocalNetwork", "false"
  78. buildConfigField "boolean", "isSkipVideoAd", "false"
  79. buildConfigField "boolean", "isSkipOtherAd", "false"
  80. buildConfigField "String", "ENV", "\"$env_debug\""
  81. buildConfigField "String", "HOST", "\"${getServerHost(env_debug)}\""
  82. buildConfigField "String", "LOCAL", "\"$LOCAL\""
  83. buildConfigField "String", "TEST", "\"$TEST\""
  84. buildConfigField "String", "PROD", "\"$PROD\""
  85. buildConfigField "String", "WECHAT_APP_ID", "\"$wechat_app_id\""
  86. buildConfigField "String", "WECHAT_KF_ID", "\"$wechat_kf_id\""
  87. buildConfigField "String", "WEWORK_CROP_ID", "\"$wework_crop_id\""
  88. buildConfigField "String", "GRAVITY_ACCESS_TOKEN", "\"$gravity_access_token\""
  89. buildConfigField "String", "BUGLY_APP_ID", "\"$bugly_app_id\""
  90. buildConfigField "String", "UMENG_APP_KEY", "\"$umeng_app_key\""
  91. buildConfigField "String", "QIYU_APP_KEY", "\"$qiyu_app_key\""
  92. buildConfigField "String", "ATMOB_CENTRAL_KEY", "\"$atmob_central_key\""
  93. buildConfigField "String", "QUICK_LOGIN_ID", "\"$quick_login_id\""
  94. }
  95. }
  96. compileOptions {
  97. sourceCompatibility JavaVersion.VERSION_1_8
  98. targetCompatibility JavaVersion.VERSION_1_8
  99. }
  100. buildFeatures {
  101. viewBinding true
  102. dataBinding true
  103. }
  104. applicationVariants.configureEach { variant ->
  105. def date = new Date().format("YYMMddHHmmss")
  106. def server = variant.buildType.name == "release" ? env_release : env_debug
  107. variant.outputs.configureEach {
  108. def fileName = "${defaultConfig.applicationId}" +
  109. "-v${defaultConfig.versionName}" +
  110. "-${variant.buildType.name}" +
  111. "-${server}" +
  112. "-${date}" +
  113. ".apk"
  114. outputFileName = fileName
  115. }
  116. }
  117. sourceSets {
  118. main { jniLibs.srcDirs = ['libs'] }
  119. }
  120. configurations.configureEach {
  121. resolutionStrategy {
  122. // don't cache changing modules at all
  123. cacheChangingModulesFor 10, 'seconds'
  124. }
  125. }
  126. }
  127. import com.github.megatronking.stringfog.plugin.kg.RandomKeyGenerator
  128. stringfog {
  129. implementation 'com.github.megatronking.stringfog.xor.StringFogImpl'
  130. fogPackages = ['com.datarecovery.master']
  131. debug false
  132. enable true
  133. kg new RandomKeyGenerator()
  134. mode base64
  135. }
  136. dependencies {
  137. //jar or aar
  138. implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
  139. //Atmob SDK
  140. implementation 'extra.common:base:1.0.0-SNAPSHOT'
  141. implementation "extra.pack:channel:1.1.0-SNAPSHOT"
  142. implementation "extra.common:core:2.0.4-SNAPSHOT" //base utils
  143. implementation "extra.common:network:1.1.0-SNAPSHOT"
  144. implementation "extra.common:rxjava:1.1.0-SNAPSHOT"
  145. implementation("plus.pay:pay:1.1.0-SNAPSHOT") {
  146. exclude group: 'third.pay', module: 'ali'
  147. }
  148. api 'com.alipay.sdk:alipaysdk-android:15.8.16@aar'
  149. //中台sdk
  150. implementation "atmob.central:core:1.0.8-SNAPSHOT"
  151. //字节 融合归因
  152. implementation 'atmob.sdk:app-convert:2.0.0-SNAPSHOT'
  153. //引力引擎
  154. implementation 'atmob.sdk:gravity-engine:4.8.25-SNAPSHOT'
  155. //oaid
  156. implementation "extra.common:oaid:1.2.0-SNAPSHOT"
  157. //AppCompat
  158. implementation "androidx.appcompat:appcompat:$rootProject.appcompat_version"
  159. //Material
  160. implementation "com.google.android.material:material:$rootProject.material_version"
  161. //RecyclerView
  162. implementation "androidx.recyclerview:recyclerview:$rootProject.recyclerview_version"
  163. //ConstraintLayout
  164. implementation "androidx.constraintlayout:constraintlayout:$rootProject.constraintlayout_version"
  165. //Gson
  166. implementation "com.google.code.gson:gson:$rootProject.gson_version"
  167. //Lifecycle
  168. implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$rootProject.lifecycle_version"
  169. implementation "androidx.lifecycle:lifecycle-livedata:$rootProject.lifecycle_version"
  170. implementation "androidx.lifecycle:lifecycle-reactivestreams:$rootProject.lifecycle_version"
  171. implementation "androidx.lifecycle:lifecycle-process:$rootProject.lifecycle_version"
  172. //Hilt
  173. implementation "com.google.dagger:hilt-android:$rootProject.hilt_version"
  174. annotationProcessor "com.google.dagger:hilt-compiler:$rootProject.hilt_version"
  175. //Glide
  176. implementation "com.github.bumptech.glide:glide:$rootProject.glide_version"
  177. annotationProcessor "com.github.bumptech.glide:compiler:$rootProject.glide_version"
  178. //MMKV
  179. implementation "com.tencent:mmkv:$rootProject.mmkv_version"
  180. //immersionbar
  181. implementation "com.gyf.immersionbar:immersionbar:$rootProject.immersionbar_version"
  182. implementation "com.gyf.immersionbar:immersionbar-components:$rootProject.immersionbar_version"
  183. //字符串加密算法
  184. implementation "com.github.megatronking.stringfog:xor:$rootProject.stringfog_verstion"
  185. //RefreshLayout
  186. implementation "androidx.swiperefreshlayout:swiperefreshlayout:$rootProject.swiperefreshlayout_version"
  187. //PhotoView
  188. implementation 'com.github.chrisbanes:PhotoView:2.3.0'
  189. //zxing
  190. implementation "third.zxing:zxing:3.5.1"
  191. //Umeng
  192. dependencies {
  193. // 友盟基础组件库(所有友盟业务SDK都依赖基础组件库)
  194. implementation 'com.umeng.umsdk:common:9.6.7'
  195. implementation 'com.umeng.umsdk:asms:1.8.0'
  196. implementation 'com.umeng.umsdk:apm:1.9.4'
  197. }
  198. //Bugly
  199. implementation "com.tencent.bugly:crashreport:$rootProject.bugly_version"
  200. //SVGA
  201. implementation 'com.github.svga:SVGAPlayer-Android:2.6.1'
  202. //dokit
  203. debugImplementation("io.github.didi.dokit:dokitx:$rootProject.dokit_version")
  204. {
  205. exclude group: 'com.google.zxing', module: 'core'
  206. }
  207. releaseImplementation("io.github.didi.dokit:dokitx-no-op:$rootProject.dokit_version")
  208. //网易一键登录
  209. implementation 'io.github.yidun:quicklogin:3.5.4'
  210. // Atmob Ad
  211. implementation "plus.ad:mediation:3.0.11.0-SNAPSHOT" //广告聚合模块
  212. implementation("plus.ad:mediation-gromore:6.8.4.0.1-SNAPSHOT") {
  213. exclude group: 'plus.bytedance', module: 'mediation-adscope'
  214. } //Gromore adapter
  215. implementation "plus.ad:mediation-tobid:4.5.4.1-SNAPSHOT" //Tobid adapter
  216. implementation "plus.ad:mediation-taku:6.4.87.1-SNAPSHOT"
  217. //VapPlayer 动效
  218. implementation "io.github.tencent:vap:2.0.28"
  219. }