build.gradle.kts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import com.android.build.gradle.internal.api.BaseVariantOutputImpl
  2. import java.text.SimpleDateFormat
  3. import java.util.Date
  4. fun getVersionCode(): Int {
  5. val dateFormat = SimpleDateFormat("yyyyMMdd")
  6. val versionCodeStr = dateFormat.format(Date())
  7. return versionCodeStr.toInt()
  8. }
  9. plugins {
  10. alias(libs.plugins.android.application)
  11. alias(libs.plugins.kotlin.android)
  12. alias(libs.plugins.kotlin.compose)
  13. alias(libs.plugins.kotlin.serialization)
  14. }
  15. android {
  16. namespace = "com.hzliuzhi.applet.container"
  17. compileSdk = 35
  18. defaultConfig {
  19. applicationId = "com.hzliuzhi.applet.container"
  20. minSdk = 26
  21. targetSdk = 35
  22. versionCode = getVersionCode()
  23. versionName = "2.1.2"
  24. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  25. }
  26. buildTypes {
  27. release {
  28. isMinifyEnabled = false
  29. proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
  30. }
  31. create("aio") {
  32. resValue("string", "build_type_tag", "AIO")
  33. initWith(getByName("debug"))
  34. matchingFallbacks += listOf("debug")
  35. }
  36. create("aio-prod") {
  37. initWith(getByName("aio"))
  38. matchingFallbacks += listOf("aio", "debug")
  39. }
  40. create("aio-test") {
  41. initWith(getByName("aio"))
  42. matchingFallbacks += listOf("aio", "debug")
  43. }
  44. create("aio-CQ") {
  45. initWith(getByName("aio-test"))
  46. matchingFallbacks += listOf("aio-prod", "aio", "debug")
  47. }
  48. }
  49. applicationVariants.all {
  50. outputs.all {
  51. val appName = "six" // 你的自定义名称
  52. val buildType = buildType.name
  53. val versionName = versionName
  54. val versionCode = versionCode
  55. val fileName = "${appName}.${buildType}-${versionName}-${versionCode}.apk"
  56. (this as BaseVariantOutputImpl).apply {
  57. outputFileName = fileName
  58. }
  59. }
  60. }
  61. compileOptions {
  62. sourceCompatibility = JavaVersion.VERSION_11
  63. targetCompatibility = JavaVersion.VERSION_11
  64. }
  65. kotlinOptions {
  66. jvmTarget = "11"
  67. }
  68. buildFeatures {
  69. compose = true
  70. }
  71. }
  72. dependencies {
  73. implementation(libs.androidx.core.ktx)
  74. implementation(libs.androidx.lifecycle.runtime.ktx)
  75. implementation(libs.androidx.activity.compose)
  76. implementation(libs.androidx.navigation.compose)
  77. implementation(libs.serialization.json)
  78. implementation(platform(libs.androidx.compose.bom))
  79. implementation(libs.androidx.ui)
  80. implementation(libs.androidx.ui.graphics)
  81. implementation(libs.androidx.ui.tooling.preview)
  82. implementation(libs.androidx.material3)
  83. testImplementation(libs.junit)
  84. androidTestImplementation(libs.androidx.junit)
  85. androidTestImplementation(libs.androidx.espresso.core)
  86. androidTestImplementation(platform(libs.androidx.compose.bom))
  87. androidTestImplementation(libs.androidx.ui.test.junit4)
  88. debugImplementation(libs.androidx.ui.tooling)
  89. debugImplementation(libs.androidx.ui.test.manifest)
  90. implementation(project(":core"))
  91. implementation(project(":library:browser"))
  92. implementation(project(":library:device:pulse"))
  93. implementation(libs.gson)
  94. }