import com.android.build.gradle.internal.api.BaseVariantOutputImpl
|
import java.io.FileInputStream
|
import java.text.SimpleDateFormat
|
import java.util.Date
|
import java.util.Locale
|
import java.util.Properties
|
import java.util.TimeZone
|
|
plugins {
|
alias(libs.plugins.android.application)
|
alias(libs.plugins.kotlin.android)
|
alias(libs.plugins.kotlin.compose)
|
}
|
val versionMajor = 1
|
val versionMinor = 0
|
val versionPatch = 13
|
val vcode = "${versionMajor}".toInt() * 1000000 + "${versionMinor}".toInt() * 1000 + "${versionPatch}".toInt()
|
android {
|
namespace = "com.safeluck.floatwindow"
|
compileSdk = 35
|
val keystorePropertiesFile = rootProject.file("keystore.properties")
|
val keystoreProperties = Properties()
|
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
|
defaultConfig {
|
applicationId = "com.safeluck.floatwindow"
|
minSdk = 24
|
targetSdk = 35
|
versionCode = vcode
|
versionName = "${versionMajor}.${versionMinor}.${versionPatch}.${releaseTime()}"
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
ndk {
|
abiFilters += listOf("arm64-v8a", "armeabi-v7a")
|
}
|
}
|
applicationVariants.all {
|
val variant = this
|
outputs.all {
|
val output = this as BaseVariantOutputImpl
|
val vName = variant.versionName
|
val vCode = variant.versionCode
|
// 自己按需要拼
|
output.outputFileName = "anyunVideo_v${vName}.apk"
|
}
|
}
|
buildFeatures{
|
aidl =true
|
}
|
signingConfigs {
|
create("release") {
|
keyPassword = keystoreProperties.getProperty("keyPassword")
|
keyAlias = keystoreProperties.getProperty("keyAlias")
|
storeFile = file(keystoreProperties.getProperty("storeFile") ?: "")
|
storePassword = keystoreProperties.getProperty("storePassword")
|
}
|
getByName("debug") {
|
keyPassword = keystoreProperties.getProperty("keyPassword")
|
keyAlias = keystoreProperties.getProperty("keyAlias")
|
storeFile = file(keystoreProperties.getProperty("storeFile") ?: "")
|
storePassword = keystoreProperties.getProperty("storePassword")
|
}
|
}
|
buildTypes {
|
release {
|
isMinifyEnabled = false
|
proguardFiles(
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
"proguard-rules.pro"
|
)
|
signingConfig = signingConfigs.getByName("release")
|
}
|
debug {
|
signingConfig = signingConfigs.getByName("debug")
|
}
|
}
|
compileOptions {
|
sourceCompatibility = JavaVersion.VERSION_11
|
targetCompatibility = JavaVersion.VERSION_11
|
}
|
kotlinOptions {
|
jvmTarget = "11"
|
}
|
buildFeatures {
|
compose = true
|
}
|
|
packaging {
|
jniLibs {
|
useLegacyPackaging = false
|
}
|
resources {
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
}
|
}
|
}
|
|
dependencies {
|
|
implementation(libs.androidx.core.ktx)
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
implementation(libs.androidx.activity.compose)
|
implementation(platform(libs.androidx.compose.bom))
|
implementation(libs.androidx.ui)
|
implementation(libs.androidx.ui.graphics)
|
implementation(libs.androidx.ui.tooling.preview)
|
implementation(libs.androidx.material3)
|
implementation(project(":usbcameralib"))
|
implementation(fileTree(mapOf(
|
"dir" to "libs",
|
"include" to listOf("*.aar", "*.jar")
|
)))
|
implementation(libs.timber)
|
testImplementation(libs.junit)
|
androidTestImplementation(libs.androidx.junit)
|
androidTestImplementation(libs.androidx.espresso.core)
|
androidTestImplementation(platform(libs.androidx.compose.bom))
|
androidTestImplementation(libs.androidx.ui.test.junit4)
|
debugImplementation(libs.androidx.ui.tooling)
|
debugImplementation(libs.androidx.ui.test.manifest)
|
}
|
fun releaseTime():String{
|
val sdf = SimpleDateFormat("YYYYMMdd_HHmmss", Locale.CHINA)
|
sdf.timeZone = TimeZone.getTimeZone("GMT+8")
|
return sdf.format(Date())
|
}
|