mirror of
https://github.com/libre-tube/LibreTube.git
synced 2026-03-13 09:30:38 +08:00
build: add support for user-provided keystore for local release builds without a hassle
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -23,6 +23,7 @@ app/release/
|
||||
# Keystore files
|
||||
*.jks
|
||||
*.keystore
|
||||
keystore.properties
|
||||
|
||||
# Google Services (e.g. APIs or Firebase)
|
||||
google-services.json
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import java.util.Properties
|
||||
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
id("kotlin-android")
|
||||
@@ -8,6 +10,21 @@ plugins {
|
||||
alias(libs.plugins.ksp)
|
||||
}
|
||||
|
||||
/*
|
||||
'keystore.properties' should look like the following:
|
||||
|
||||
storeFile=my.keystore
|
||||
storePassword=my_store_password
|
||||
keyAlias=my_key_alias
|
||||
keyPassword=my_key_password
|
||||
*/
|
||||
|
||||
val keystoreProperties = Properties()
|
||||
val keystoreFileExists = rootProject.file("keystore.properties").exists();
|
||||
if (keystoreFileExists) {
|
||||
keystoreProperties.load(rootProject.file("keystore.properties").inputStream())
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk = 35
|
||||
|
||||
@@ -30,10 +47,22 @@ android {
|
||||
enable = true
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
if (keystoreFileExists) {
|
||||
create("release") {
|
||||
storeFile = keystoreProperties["storeFile"]?.let { file(it as String) }
|
||||
storePassword = keystoreProperties["storePassword"] as String
|
||||
keyAlias = keystoreProperties["keyAlias"] as String
|
||||
keyPassword = keystoreProperties["keyPassword"] as String
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
getByName("release") {
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
signingConfig = signingConfigs.findByName("release")?.takeIf { it.storeFile != null }
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
|
||||
Reference in New Issue
Block a user