| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import java.util.Properties
- import java.io.FileInputStream
- plugins {
- id("com.android.application")
- id("kotlin-android")
- // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
- id("dev.flutter.flutter-gradle-plugin")
- }
- val keystorePropertiesFile = rootProject.file("key.properties")
- val keystoreProperties = Properties()
- if (keystorePropertiesFile.exists()) {
- keystoreProperties.load(FileInputStream(keystorePropertiesFile))
- }
- android {
- namespace = "com.xhxxf.newshop"
- compileSdk = flutter.compileSdkVersion
- // 移除固定 NDK 版本,让 Gradle 自动选择
- // ndkVersion = "27.0.12077973"
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
- }
- kotlinOptions {
- jvmTarget = JavaVersion.VERSION_11.toString()
- }
- defaultConfig {
- // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
- applicationId = "com.xhxxf.newshop"
- // You can update the following values to match your application needs.
- // For more information, see: https://flutter.dev/to/review-gradle-config.
- minSdk = flutter.minSdkVersion
- targetSdk = flutter.targetSdkVersion
- versionCode = flutter.versionCode
- versionName = flutter.versionName
- }
- packaging {
- resources.excludes += setOf(
- "META-INF/**",
- // "assets/**",
- //"res/**"
- )
- }
- // 安全的签名配置,处理 key.properties 不存在的情况
- signingConfigs {
- create("release") {
- if (keystorePropertiesFile.exists() && keystoreProperties["storeFile"] != null) {
- storeFile = file(keystoreProperties["storeFile"] as String)
- storePassword = keystoreProperties["storePassword"] as String
- keyAlias = keystoreProperties["keyAlias"] as String
- keyPassword = keystoreProperties["keyPassword"] as String
- }
- }
- }
- buildTypes {
- getByName("debug") {
- isMinifyEnabled = false
- // debug 使用默认签名
- }
- getByName("release") {
- isMinifyEnabled = false
- isShrinkResources = false
- // 如果有正式签名则使用,否则使用 debug 签名
- if (keystorePropertiesFile.exists() && keystoreProperties["storeFile"] != null) {
- signingConfig = signingConfigs.getByName("release")
- }
- proguardFiles(
- getDefaultProguardFile("proguard-android-optimize.txt"),
- "proguard-rules.pro"
- )
- }
- }
- }
- flutter {
- source = "../.."
- }
|