build.gradle.kts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. // 允许debug
  42. isDebuggable = true
  43. // Note: The debug build type must have the same signing config as the main build type.
  44. signingConfig = signingConfigs.getByName("keyboard")
  45. }
  46. getByName("release") {
  47. // TODO: Add your own signing config for the release build.
  48. // Signing with the debug keys for now, so `flutter run --release` works.
  49. isMinifyEnabled = true
  50. proguardFiles(
  51. getDefaultProguardFile("proguard-android-optimize.txt"),
  52. "proguard-rules.pro"
  53. )
  54. signingConfig = signingConfigs.getByName("keyboard")
  55. }
  56. }
  57. applicationVariants.all {
  58. val variant = this
  59. variant.outputs.map { it as com.android.build.gradle.internal.api.BaseVariantOutputImpl }
  60. .forEach { output ->
  61. val formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm")
  62. val date = LocalDateTime.now(ZoneId.of("Asia/Shanghai")).format(formatter)
  63. val outputFileName =
  64. "${variant.applicationId}-v${variant.versionName}-${variant.baseName}-${date}.apk"
  65. output.outputFileName = outputFileName
  66. }
  67. }
  68. }
  69. flutter {
  70. source = "../.."
  71. }