build.gradle 4.2 KB

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