build(gradle): automatically copy release APKs directly to Desktop upon assembleRelease
This commit is contained in:
@@ -109,3 +109,29 @@ dependencies {
|
|||||||
// DataStore for settings
|
// DataStore for settings
|
||||||
implementation(libs.androidx.datastore.preferences)
|
implementation(libs.androidx.datastore.preferences)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Автоматическое копирование релизного APK на рабочий стол пользователя после сборки
|
||||||
|
|
||||||
|
val desktopDir = File(System.getProperty("user.home"), "Desktop")
|
||||||
|
|
||||||
|
|
||||||
|
tasks.register("copyReleaseApkToDesktop") {
|
||||||
|
notCompatibleWithConfigurationCache("Copies APK to user Desktop")
|
||||||
|
doLast {
|
||||||
|
val userHome = System.getProperty("user.home")
|
||||||
|
val desktopDir = File(userHome, "Desktop")
|
||||||
|
if (desktopDir.exists() && desktopDir.isDirectory) {
|
||||||
|
val apkFile = layout.buildDirectory.file("outputs/apk/release/app-release.apk").get().asFile
|
||||||
|
if (apkFile.exists()) {
|
||||||
|
val vName = android.defaultConfig.versionName ?: "release"
|
||||||
|
apkFile.copyTo(File(desktopDir, "Avtex-v${vName}.apk"), overwrite = true)
|
||||||
|
apkFile.copyTo(File(desktopDir, "Avtex-release.apk"), overwrite = true)
|
||||||
|
println(">>> [AUTO-DEPLOY] Релизный APK скопирован на Рабочий стол: Avtex-v${vName}.apk и Avtex-release.apk")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
afterEvaluate {
|
||||||
|
tasks.findByName("assembleRelease")?.finalizedBy("copyReleaseApkToDesktop")
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user