100 lines
3.0 KiB
Plaintext
100 lines
3.0 KiB
Plaintext
plugins {
|
||
id("com.android.application")
|
||
id("kotlin-android")
|
||
// Flutter Gradle 插件必须放在 Android 与 Kotlin Gradle 插件之后应用。
|
||
id("dev.flutter.flutter-gradle-plugin")
|
||
}
|
||
|
||
import java.io.File
|
||
import java.io.FileInputStream
|
||
import java.util.Properties
|
||
|
||
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.webshell.web_android_shell"
|
||
compileSdk = flutter.compileSdkVersion
|
||
ndkVersion = flutter.ndkVersion
|
||
|
||
compileOptions {
|
||
sourceCompatibility = JavaVersion.VERSION_17
|
||
targetCompatibility = JavaVersion.VERSION_17
|
||
}
|
||
|
||
kotlinOptions {
|
||
jvmTarget = JavaVersion.VERSION_17.toString()
|
||
}
|
||
|
||
defaultConfig {
|
||
// 待补充:请替换成你自己的唯一应用标识。
|
||
applicationId = "com.yuanxuan.webshell.web_android_shell"
|
||
// 下面这些值可以按应用实际需求调整。
|
||
// 更多说明可参考:https://flutter.dev/to/review-gradle-config。
|
||
minSdk = flutter.minSdkVersion
|
||
// 为兼容旧版系统 WebView,这里保持稳定的 targetSdk。
|
||
targetSdk = 34
|
||
versionCode = flutter.versionCode
|
||
versionName = flutter.versionName
|
||
}
|
||
|
||
signingConfigs {
|
||
create("release") {
|
||
keyAlias = releaseKeyAlias
|
||
keyPassword = releaseKeyPassword
|
||
storeFile = releaseStoreFile
|
||
storePassword = releaseStorePassword
|
||
}
|
||
}
|
||
|
||
buildTypes {
|
||
release {
|
||
signingConfig = signingConfigs.getByName("release")
|
||
}
|
||
}
|
||
}
|
||
|
||
flutter {
|
||
source = "../.."
|
||
}
|