diff options
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | app/build.gradle.kts | 30 | ||||
| -rw-r--r-- | f-droid/com.tomcooks.reccoon.yml | 6 | ||||
| -rw-r--r-- | releases/RECCoon-1.0.0.apk | bin | 0 -> 35488866 bytes |
4 files changed, 37 insertions, 2 deletions
@@ -12,3 +12,6 @@ # Build outputs. The sherpa-onnx runtime is fetched from JitPack, so no # prebuilt binary is committed here. /dist/ + +# Release signing (never commit keys or passwords). +/keystore.properties diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1f5fb20..c539960 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,7 +1,18 @@ +import java.util.Properties + plugins { id("com.android.application") } +// Release signing is read from keystore.properties (git-ignored, present only on +// the maintainer's machine). CI (e.g. F-Droid) builds an unsigned APK. +val keystorePropertiesFile = rootProject.file("keystore.properties") +val keystoreProperties = Properties().apply { + if (keystorePropertiesFile.exists()) { + keystorePropertiesFile.inputStream().use { load(it) } + } +} + android { namespace = "com.tomcooks.reccoon" @@ -25,13 +36,30 @@ android { } } + signingConfigs { + if (keystorePropertiesFile.exists()) { + create("release") { + storeFile = file(keystoreProperties.getProperty("storeFile")) + storePassword = keystoreProperties.getProperty("storePassword") + keyAlias = keystoreProperties.getProperty("keyAlias") + keyPassword = keystoreProperties.getProperty("keyPassword") + } + } + } + buildTypes { debug { isMinifyEnabled = false } release { isMinifyEnabled = false - signingConfig = signingConfigs.getByName("debug") + // Signed with the maintainer's key when keystore.properties is + // present; unsigned otherwise so F-Droid/CI signs it itself. + signingConfig = if (keystorePropertiesFile.exists()) { + signingConfigs.getByName("release") + } else { + null + } proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" diff --git a/f-droid/com.tomcooks.reccoon.yml b/f-droid/com.tomcooks.reccoon.yml index 0aab5d2..fdd03c8 100644 --- a/f-droid/com.tomcooks.reccoon.yml +++ b/f-droid/com.tomcooks.reccoon.yml @@ -9,14 +9,18 @@ AutoName: RECCoon RepoType: git Repo: https://git.tomcooks.com/reccoon +Binaries: https://git.tomcooks.com/reccoon/plain/releases/RECCoon-%v.apk Builds: - versionName: 1.0.0 versionCode: 1 - commit: 959757376d119c7a416234145abd1e468a3b73fe + commit: 349ebb2079a5c5738129b8798ea5e36e0c5262aa + subdir: app gradle: - yes +AllowedAPKSigningKeys: 98ae9f44c34702e9e65bdc6b5bd7098936566be18ac19f96a9eab3dd66347f00 + AutoUpdateMode: Version UpdateCheckMode: Tags CurrentVersion: 1.0.0 diff --git a/releases/RECCoon-1.0.0.apk b/releases/RECCoon-1.0.0.apk Binary files differnew file mode 100644 index 0000000..c8633d5 --- /dev/null +++ b/releases/RECCoon-1.0.0.apk |
