mirror of
https://github.com/JustinZeus/Wholphin.git
synced 2026-07-08 15:50:16 +02:00
Dev: add CI to build app store releases (#468)
Adding GHA workflows to build the app store releases Also cleans up gradle build script a bit
This commit is contained in:
parent
3e2a1869ab
commit
7424f812d8
4 changed files with 123 additions and 77 deletions
|
|
@ -47,20 +47,64 @@ android {
|
|||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
if (shouldSign) {
|
||||
create("ci") {
|
||||
file("ci.keystore").writeBytes(
|
||||
Base64.getDecoder().decode(System.getenv("SIGNING_KEY")),
|
||||
)
|
||||
keyAlias = System.getenv("KEY_ALIAS")
|
||||
keyPassword = System.getenv("KEY_PASSWORD")
|
||||
storePassword = System.getenv("KEY_STORE_PASSWORD")
|
||||
storeFile = file("ci.keystore")
|
||||
enableV1Signing = true
|
||||
enableV2Signing = true
|
||||
enableV3Signing = true
|
||||
enableV4Signing = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = true
|
||||
isMinifyEnabled = false
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro",
|
||||
)
|
||||
isDebuggable = false
|
||||
if (shouldSign) {
|
||||
signingConfig = signingConfigs.getByName("ci")
|
||||
} else {
|
||||
val localPropertiesFile = project.rootProject.file("local.properties")
|
||||
if (localPropertiesFile.exists()) {
|
||||
val properties = Properties()
|
||||
properties.load(localPropertiesFile.inputStream())
|
||||
val signingConfigName = properties["release.signing.config"]?.toString()
|
||||
if (signingConfigName != null) {
|
||||
signingConfig = signingConfigs.getByName(signingConfigName)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
debug {
|
||||
isMinifyEnabled = false
|
||||
isDebuggable = true
|
||||
applicationIdSuffix = ".debug"
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
val variant = this
|
||||
variant.outputs
|
||||
.map { it as com.android.build.gradle.internal.api.BaseVariantOutputImpl }
|
||||
.forEach { output ->
|
||||
val abi = output.getFilter("ABI").let { if (it != null) "-$it" else "" }
|
||||
val outputFileName =
|
||||
"Wholphin-${variant.baseName}-${variant.versionName}-${variant.versionCode}$abi.apk"
|
||||
output.outputFileName = outputFileName
|
||||
}
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
|
|
@ -81,63 +125,6 @@ android {
|
|||
room {
|
||||
schemaDirectory("$projectDir/schemas")
|
||||
}
|
||||
signingConfigs {
|
||||
if (shouldSign) {
|
||||
create("ci") {
|
||||
file("ci.keystore").writeBytes(
|
||||
Base64.getDecoder().decode(System.getenv("SIGNING_KEY")),
|
||||
)
|
||||
keyAlias = System.getenv("KEY_ALIAS")
|
||||
keyPassword = System.getenv("KEY_PASSWORD")
|
||||
storePassword = System.getenv("KEY_STORE_PASSWORD")
|
||||
storeFile = file("ci.keystore")
|
||||
enableV1Signing = true
|
||||
enableV2Signing = true
|
||||
enableV3Signing = true
|
||||
enableV4Signing = true
|
||||
}
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = false
|
||||
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro",
|
||||
)
|
||||
if (shouldSign) {
|
||||
signingConfig = signingConfigs.getByName("ci")
|
||||
} else {
|
||||
val localPropertiesFile = project.rootProject.file("local.properties")
|
||||
if (localPropertiesFile.exists()) {
|
||||
val properties = Properties()
|
||||
properties.load(localPropertiesFile.inputStream())
|
||||
val signingConfigName = properties["release.signing.config"]?.toString()
|
||||
if (signingConfigName != null) {
|
||||
signingConfig = signingConfigs.getByName(signingConfigName)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
debug {
|
||||
if (shouldSign) {
|
||||
signingConfig = signingConfigs.getByName("ci")
|
||||
}
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
val variant = this
|
||||
variant.outputs
|
||||
.map { it as com.android.build.gradle.internal.api.BaseVariantOutputImpl }
|
||||
.forEach { output ->
|
||||
val abi = output.getFilter("ABI").let { if (it != null) "-$it" else "" }
|
||||
val outputFileName =
|
||||
"Wholphin-${variant.baseName}-${variant.versionName}-${variant.versionCode}$abi.apk"
|
||||
output.outputFileName = outputFileName
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
splits {
|
||||
abi {
|
||||
|
|
|
|||
40
app/src/patches/play_store.patch
Normal file
40
app/src/patches/play_store.patch
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
commit f82fb1a2d8ff9917a7bdb0bc7101a0474359ccdc
|
||||
Author: Damontecres <damontecres@gmail.com>
|
||||
Date: Sat Nov 22 13:00:55 2025 -0500
|
||||
|
||||
Setup for play store
|
||||
|
||||
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
|
||||
index 6d84299..12576af 100644
|
||||
--- a/app/src/main/AndroidManifest.xml
|
||||
+++ b/app/src/main/AndroidManifest.xml
|
||||
@@ -4,7 +4,6 @@
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
- <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<uses-permission
|
||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="28" />
|
||||
@@ -17,7 +16,7 @@
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.software.leanback"
|
||||
- android:required="false" />
|
||||
+ android:required="true" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.microphone"
|
||||
android:required="false" />
|
||||
diff --git a/app/src/main/java/com/github/damontecres/wholphin/services/UpdateChecker.kt b/app/src/main/java/com/github/damontecres/wholphin/services/UpdateChecker.kt
|
||||
index c7ac435..fa42fe1 100644
|
||||
--- a/app/src/main/java/com/github/damontecres/wholphin/services/UpdateChecker.kt
|
||||
+++ b/app/src/main/java/com/github/damontecres/wholphin/services/UpdateChecker.kt
|
||||
@@ -62,7 +62,7 @@ class UpdateChecker
|
||||
|
||||
private val NOTE_REGEX = Regex("<!-- app-note:(.+) -->")
|
||||
|
||||
- val ACTIVE = true
|
||||
+ val ACTIVE = false
|
||||
}
|
||||
|
||||
suspend fun maybeShowUpdateToast(
|
||||
Loading…
Add table
Add a link
Reference in a new issue