build.gradle.kts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import java.time.LocalDateTime
  2. import java.time.format.DateTimeFormatter
  3. import java.time.ZoneId
  4. plugins {
  5. id("com.android.application")
  6. id("kotlin-android")
  7. // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
  8. id("dev.flutter.flutter-gradle-plugin")
  9. }
  10. android {
  11. namespace = "com.atmob.keyboard"
  12. compileSdk = rootProject.extra["compileSdkVersion"] as Int
  13. ndkVersion = rootProject.extra["ndkVersion"] as String
  14. compileOptions {
  15. sourceCompatibility = JavaVersion.VERSION_11
  16. targetCompatibility = JavaVersion.VERSION_11
  17. }
  18. kotlinOptions {
  19. jvmTarget = JavaVersion.VERSION_11.toString()
  20. }
  21. defaultConfig {
  22. applicationId = rootProject.extra["applicationId"] as String
  23. minSdk = rootProject.extra["minSdkVersion"] as Int
  24. targetSdk = rootProject.extra["targetSdkVersion"] as Int
  25. versionCode = flutter.versionCode
  26. versionName = flutter.versionName
  27. ndk {
  28. abiFilters.add("arm64-v8a")
  29. }
  30. }
  31. signingConfigs {
  32. create("keyboard") {
  33. storeFile = file("keystore/keyboard.jks")
  34. storePassword = "keyboard888"
  35. keyAlias = "keyboard"
  36. keyPassword = "keyboard888"
  37. }
  38. }
  39. buildTypes {
  40. getByName("debug") {
  41. // Note: The debug build type must have the same signing config as the main build type.
  42. signingConfig = signingConfigs.getByName("keyboard")
  43. }
  44. getByName("release") {
  45. // TODO: Add your own signing config for the release build.
  46. // Signing with the debug keys for now, so `flutter run --release` works.
  47. isMinifyEnabled = true
  48. proguardFiles(
  49. getDefaultProguardFile("proguard-android-optimize.txt"),
  50. "proguard-rules.pro"
  51. )
  52. signingConfig = signingConfigs.getByName("keyboard")
  53. }
  54. }
  55. applicationVariants.all {
  56. val variant = this
  57. variant.outputs.map { it as com.android.build.gradle.internal.api.BaseVariantOutputImpl }
  58. .forEach { output ->
  59. val formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm")
  60. val date = LocalDateTime.now(ZoneId.of("Asia/Shanghai")).format(formatter)
  61. val outputFileName =
  62. "${variant.applicationId}-v${variant.versionName}-${variant.baseName}-${date}.apk"
  63. output.outputFileName = outputFileName
  64. }
  65. }
  66. }
  67. flutter {
  68. source = "../.."
  69. }