build.gradle.kts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. plugins {
  2. alias(libs.plugins.android.application)
  3. alias(libs.plugins.kotlin.android)
  4. id("org.jetbrains.kotlin.kapt")
  5. id("com.google.devtools.ksp")
  6. id("com.google.dagger.hilt.android")
  7. }
  8. android {
  9. namespace = "com.grkj.iscs"
  10. compileSdk = 35
  11. defaultConfig {
  12. applicationId = "com.grkj.iscs"
  13. minSdk = 24
  14. targetSdk = 35
  15. versionCode = 1
  16. versionName = "v1.0.0"
  17. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  18. }
  19. signingConfigs {
  20. create("release") {
  21. storeFile = file("../ISCS.jks")
  22. storePassword = "iscs123456"
  23. keyAlias = "iscs"
  24. keyPassword = "iscs123456"
  25. }
  26. }
  27. buildTypes {
  28. getByName("debug") {
  29. // 如果你确实想用 release 签名
  30. signingConfig = signingConfigs.getByName("release")
  31. // Debug 不混淆、不裁剪
  32. isDebuggable = true
  33. isMinifyEnabled = false
  34. isShrinkResources = false
  35. }
  36. getByName("release") {
  37. signingConfig = signingConfigs.getByName("release")
  38. // 混淆 & 去掉无用资源
  39. isDebuggable = false
  40. isMinifyEnabled = false
  41. isShrinkResources = false
  42. proguardFiles(
  43. getDefaultProguardFile("proguard-android-optimize.txt"),
  44. "proguard-rules.pro"
  45. )
  46. }
  47. }
  48. compileOptions {
  49. sourceCompatibility = JavaVersion.VERSION_11
  50. targetCompatibility = JavaVersion.VERSION_11
  51. }
  52. kotlinOptions {
  53. jvmTarget = "11"
  54. }
  55. buildFeatures {
  56. dataBinding = true
  57. buildConfig = true
  58. }
  59. packaging {
  60. resources {
  61. pickFirsts += "META-INF/versions/9/OSGI-INF/MANIFEST.MF"
  62. pickFirsts += "META-INF/INDEX.LIST"
  63. pickFirsts += "META-INF/io.netty.versions.properties"
  64. }
  65. }
  66. // 为每个 ABI 生成独立 APK
  67. splits {
  68. abi {
  69. isEnable = true
  70. reset()
  71. include("armeabi-v7a", "arm64-v8a")
  72. // 是否同时生成一个“全量 APK”
  73. isUniversalApk = false
  74. }
  75. }
  76. }
  77. dependencies {
  78. implementation(libs.androidx.core.ktx)
  79. implementation(libs.androidx.appcompat)
  80. implementation(libs.material)
  81. implementation(libs.androidx.activity)
  82. implementation(libs.androidx.constraintlayout)
  83. implementation(libs.brv)
  84. implementation(libs.viewmodel.ktx)
  85. implementation(libs.viewmodel.livedata.ktx)
  86. implementation(libs.viewmodel.savestate)
  87. kapt(libs.viewmodel.compiler)
  88. implementation(libs.android.navigation.fragment)
  89. implementation(libs.android.navigation.ui)
  90. implementation(libs.android.navigation.dynamic.features.fragment)
  91. implementation(libs.kotlinx.serialization.json)
  92. implementation(libs.sik.camera)
  93. implementation("com.github.loper7:DateTimePicker:0.6.3")
  94. implementation("com.google.dagger:hilt-android:2.56.2")
  95. ksp("com.google.dagger:hilt-android-compiler:2.56.2")
  96. kapt("com.github.bingoogolapple.BGABadgeView-Android:compiler:1.2.0")
  97. implementation(project(":ui-base"))
  98. testImplementation(libs.junit)
  99. androidTestImplementation(libs.androidx.junit)
  100. androidTestImplementation(libs.androidx.espresso.core)
  101. }