build.gradle 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. //****************************************
  2. //************ app 壳的配置文件 ************
  3. //****************************************
  4. import com.quyunshuo.sbm10.buildsrc.*
  5. import com.quyunshuo.sbm10.buildsrc.DependencyConfig
  6. import com.quyunshuo.sbm10.buildsrc.ProjectBuildConfig
  7. import java.text.SimpleDateFormat
  8. plugins {
  9. alias(libs.plugins.application)
  10. alias(libs.plugins.kotlin)
  11. alias(libs.plugins.hilt)
  12. id "kotlin-kapt"
  13. }
  14. android {
  15. namespace 'com.quyunshuo.sbm10'
  16. compileSdk ProjectBuildConfig.compileSdkVersion
  17. defaultConfig {
  18. applicationId ProjectBuildConfig.applicationId
  19. minSdk ProjectBuildConfig.minSdkVersion
  20. targetSdk ProjectBuildConfig.targetSdkVersion
  21. versionCode ProjectBuildConfig.versionCode
  22. versionName ProjectBuildConfig.versionName
  23. testInstrumentationRunner DependencyConfig.AndroidX.AndroidJUnitRunner
  24. multiDexKeepProguard file("multidexKeep.pro")
  25. manifestPlaceholders = [
  26. GETUI_APP_ID : "GKa6qa12heALjEXZlAn1U3",
  27. GETUI_APP_KEY : "89WV8dfjRg6RlxEchgmnS6",
  28. GETUI_APP_SECRET: "fLvPjR8hni7VFMkgjh8lx2"
  29. ]
  30. ndk {
  31. // 设置支持的SO库架构
  32. // abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
  33. abiFilters 'armeabi-v7a', 'arm64-v8a'
  34. }
  35. // resConfig 'de'
  36. packagingOptions {
  37. exclude 'META-INF/io.netty.versions.properties'
  38. }
  39. }
  40. signingConfigs {
  41. release {
  42. keyAlias 'sc'
  43. keyPassword '1234567890'
  44. storeFile file('../snowcone.jks')
  45. storePassword '1234567890'
  46. }
  47. }
  48. sourceSets {
  49. main {
  50. jniLibs.srcDirs = ['libs']
  51. }
  52. }
  53. buildTypes {
  54. // 对应 ALPHA 版本
  55. debug {
  56. buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
  57. buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.ALPHA}\""
  58. // signingConfig signingConfigs.releaseConfig
  59. minifyEnabled false //为true,则对代码进行混淆和压缩
  60. // shrinkResources true //为true, 则对资源进行缩减
  61. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  62. }
  63. beta {
  64. buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
  65. buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.BETA}\""
  66. // signingConfig signingConfigs.releaseConfig
  67. minifyEnabled true
  68. shrinkResources true //为true, 则对资源进行缩减
  69. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  70. }
  71. release {
  72. buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
  73. buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.RELEASE}\""
  74. // signingConfig signingConfigs.releaseConfig
  75. minifyEnabled false
  76. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  77. signingConfig signingConfigs.release
  78. }
  79. }
  80. // 自定义打包apk的文件名
  81. android.applicationVariants.all { variant ->
  82. variant.outputs.all { output ->
  83. if (outputFileName != null && outputFileName.endsWith('.apk')) {
  84. String app
  85. if (ProjectBuildConfig.appVersion==2){
  86. app="en"
  87. }else {
  88. app="ch"
  89. }
  90. def date = new Date()
  91. def dateFormat = new SimpleDateFormat("M.d") // 格式化日期为 MM.dd
  92. def formattedDate = dateFormat.format(date)
  93. outputFileName="${ProjectBuildConfig.versionName}"+
  94. "-SBM10"+
  95. "${app}"+"-"+
  96. "${formattedDate}"+
  97. ".apk"
  98. }
  99. }
  100. }
  101. compileOptions {
  102. sourceCompatibility JavaVersion.VERSION_17
  103. targetCompatibility JavaVersion.VERSION_17
  104. }
  105. kotlinOptions {
  106. jvmTarget = '17'
  107. }
  108. }
  109. dependencies {
  110. implementation fileTree(dir: "libs", include: ["*.jar"])
  111. if (!ProjectBuildConfig.isAppMode) {
  112. implementation project(path: ':module_home')
  113. implementation project(path: ':module_backstage')
  114. implementation project(path: ':module_pay')
  115. implementation project(path: ':module_database')
  116. implementation project(path: ':serialport-api')
  117. } else {
  118. implementation project(path: ':lib_common')
  119. }
  120. implementation project(path: ':lib_base')
  121. implementation DependencyConfig.JetPack.HiltCore
  122. kapt DependencyConfig.GitHub.AutoServiceAnnotations
  123. kapt DependencyConfig.JetPack.HiltApt
  124. }