web_shell_flutter/apps/aixue/android/app/build.gradle.kts

101 lines
3.0 KiB
Plaintext

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")
}
import java.io.File
import java.util.Properties
import java.io.FileInputStream
val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
FileInputStream(keystorePropertiesFile).use { keystoreProperties.load(it) }
}
val defaultReleaseStoreFile = rootProject.file("../../../tool/key.jks")
fun resolveKeystoreFile(rawPath: String?): File {
val candidate = rawPath?.trim().orEmpty()
if (candidate.isEmpty()) {
return defaultReleaseStoreFile
}
val expandedHome = if (candidate.startsWith("~/") || candidate == "~") {
candidate.replaceFirst("~", System.getProperty("user.home"))
} else {
candidate
}
val normalized = expandedHome.replace('\\', File.separatorChar).replace('/', File.separatorChar)
val storeFile = File(normalized)
if (storeFile.isAbsolute) {
return storeFile
}
val rootRelativeFile = rootProject.file(normalized)
if (rootRelativeFile.exists()) {
return rootRelativeFile
}
val moduleRelativeFile = project.file(normalized)
if (moduleRelativeFile.exists()) {
return moduleRelativeFile
}
return rootRelativeFile
}
val releaseStoreFile =
resolveKeystoreFile(keystoreProperties["storeFile"] as String?)
val releaseKeyAlias = keystoreProperties["keyAlias"] as String? ?: "my-key-alias"
val releaseKeyPassword = keystoreProperties["keyPassword"] as String? ?: "123456"
val releaseStorePassword = keystoreProperties["storePassword"] as String? ?: "123456"
android {
namespace = "com.yuanxuan.aixue"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.yuanxuan.aixue"
// 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
}
signingConfigs {
create("release") {
keyAlias = releaseKeyAlias
keyPassword = releaseKeyPassword
storeFile = releaseStoreFile
storePassword = releaseStorePassword
}
}
buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("release")
}
}
}
flutter {
source = "../.."
}