build.gradle.kts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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.0.0"
  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-test") {
  37. initWith(getByName("aio"))
  38. matchingFallbacks += listOf("aio", "debug")
  39. }
  40. create("aio-CQ") {
  41. initWith(getByName("aio-test"))
  42. matchingFallbacks += listOf("aio-test", "aio", "debug")
  43. }
  44. }
  45. androidResources {
  46. noCompress.add("apk")
  47. }
  48. applicationVariants.all {
  49. outputs.all {
  50. val appName = "six" // 你的自定义名称
  51. val buildType = buildType.name
  52. val versionName = versionName
  53. val versionCode = versionCode
  54. val fileName = "${appName}.${buildType}-${versionName}-${versionCode}.apk"
  55. (this as BaseVariantOutputImpl).apply {
  56. outputFileName = fileName
  57. }
  58. }
  59. }
  60. compileOptions {
  61. sourceCompatibility = JavaVersion.VERSION_11
  62. targetCompatibility = JavaVersion.VERSION_11
  63. }
  64. kotlinOptions {
  65. jvmTarget = "11"
  66. }
  67. buildFeatures {
  68. compose = true
  69. }
  70. }
  71. dependencies {
  72. implementation(libs.androidx.core.ktx)
  73. implementation(libs.androidx.lifecycle.runtime.ktx)
  74. implementation(libs.androidx.activity.compose)
  75. implementation(libs.androidx.navigation.compose)
  76. implementation(libs.serialization.json)
  77. implementation(platform(libs.androidx.compose.bom))
  78. implementation(libs.androidx.ui)
  79. implementation(libs.androidx.ui.graphics)
  80. implementation(libs.androidx.ui.tooling.preview)
  81. implementation(libs.androidx.material3)
  82. testImplementation(libs.junit)
  83. androidTestImplementation(libs.androidx.junit)
  84. androidTestImplementation(libs.androidx.espresso.core)
  85. androidTestImplementation(platform(libs.androidx.compose.bom))
  86. androidTestImplementation(libs.androidx.ui.test.junit4)
  87. debugImplementation(libs.androidx.ui.tooling)
  88. debugImplementation(libs.androidx.ui.test.manifest)
  89. implementation(project(":core"))
  90. implementation(project(":library:browser"))
  91. implementation(project(":library:device:pulse"))
  92. implementation(libs.gson)
  93. }