Files
photo-live/apps/mobile/android/app/build.gradle.kts
T
2026-09-22 13:55:37 +08:00

63 lines
2.2 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
plugins {
id("com.android.application")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}
android {
namespace = "com.photolive.photo_live"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
defaultConfig {
applicationId = "com.photolive.photo_live"
// P3 约定:minSdk 24(Flutter 默认下限);targetSdk 36(Android 16)。
// Task 7 原生桥接:targetSdk>=34 走 WorkManager expedited + dataSync 前台服务;
// 若需降级(厂商兼容),路径 = 普通 WorkManager + 前台服务通知(见技术方案 §6.3)。
minSdk = 24
targetSdk = 36
versionCode = flutter.versionCode
versionName = flutter.versionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.getByName("debug")
// R8 混淆会破坏 WorkManager 反射初始化(NoSuchMethodException
// WorkDatabase_Impl),ProGuard keep 规则见 proguard-rules.pro。
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}
kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}
dependencies {
// P3 Task 7 后台上传桥接:WorkManager(expedited + dataSync 前台服务)
// + OkHttp 直传 presign PUT(独立 4.12,与 Flutter 引擎无耦合)。
implementation("androidx.work:work-runtime-ktx:2.10.0")
implementation("androidx.core:core-ktx:1.15.0")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
testImplementation("junit:junit:4.13.2")
testImplementation("com.squareup.okhttp3:mockwebserver:4.12.0")
}
flutter {
source = "../.."
}