build.gradle.kts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import java.util.Properties
  2. import java.io.FileInputStream
  3. plugins {
  4. id("com.android.application")
  5. id("kotlin-android")
  6. // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
  7. id("dev.flutter.flutter-gradle-plugin")
  8. }
  9. val keystorePropertiesFile = rootProject.file("key.properties")
  10. val keystoreProperties = Properties()
  11. if (keystorePropertiesFile.exists()) {
  12. keystoreProperties.load(FileInputStream(keystorePropertiesFile))
  13. }
  14. android {
  15. namespace = "com.xhxxf.newshop"
  16. compileSdk = flutter.compileSdkVersion
  17. ndkVersion = System.getenv("ANDROID_NDK_VERSION") ?: "27.0.12077973"
  18. compileOptions {
  19. sourceCompatibility = JavaVersion.VERSION_11
  20. targetCompatibility = JavaVersion.VERSION_11
  21. }
  22. kotlinOptions {
  23. jvmTarget = JavaVersion.VERSION_11.toString()
  24. }
  25. defaultConfig {
  26. // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
  27. applicationId = "com.xhxxf.newshop"
  28. // You can update the following values to match your application needs.
  29. // For more information, see: https://flutter.dev/to/review-gradle-config.
  30. minSdk = flutter.minSdkVersion
  31. targetSdk = flutter.targetSdkVersion
  32. versionCode = flutter.versionCode
  33. versionName = flutter.versionName
  34. }
  35. packagingOptions {
  36. resources.excludes += setOf(
  37. "META-INF/**",
  38. // "assets/**",
  39. //"res/**"
  40. )
  41. }
  42. signingConfigs {
  43. create("release") {
  44. storeFile = file(keystoreProperties["storeFile"] as String)
  45. storePassword = keystoreProperties["storePassword"] as String
  46. keyAlias = keystoreProperties["keyAlias"] as String
  47. keyPassword = keystoreProperties["keyPassword"] as String
  48. }
  49. }
  50. buildTypes {
  51. getByName("debug") {
  52. isMinifyEnabled = false
  53. signingConfig = signingConfigs.getByName("release") // 给 debug 也用 release 的签名
  54. }
  55. getByName("release") {
  56. isMinifyEnabled = false
  57. isShrinkResources = false
  58. signingConfig = signingConfigs.getByName("release")
  59. proguardFiles(
  60. getDefaultProguardFile("proguard-android-optimize.txt"),
  61. "proguard-rules.pro"
  62. )
  63. }
  64. }
  65. }
  66. flutter {
  67. source = "../.."
  68. }