commit 2ae81665fd27644c680f73686db3c8619df33caa equwal <truex@equwal.com> 2026-09-26 14:24:52 -0700 Turn on R8, add the F-Droid listing text and recipe, and set the version to 0.2.0 F-Droid builds the app from source and checks it against the signed APK on GitHub (Binaries and AllowedAPKSigningKeys). The fastlane folder now has the title, the descriptions, the icon, and the changelog.
app/build.gradle.kts | 9 ++++-- fastlane/metadata/android/en-US/changelogs/2.txt | 1 + .../metadata/android/en-US/full_description.txt | 28 +++++++++++++++++ fastlane/metadata/android/en-US/images/icon.png | Bin 0 -> 4676 bytes .../metadata/android/en-US/short_description.txt | 1 + fastlane/metadata/android/en-US/title.txt | 1 + fdroid/space.subread.dictionary.yml | 33 +++++++++++++++++++++ 7 files changed, 70 insertions(+), 3 deletions(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b787331..b3d85ad 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -24,8 +24,8 @@ android { minSdk = 26 targetSdk = 36 // Plain numbers, in this file: F-Droid reads them from here to find a new release. - versionCode = 1 - versionName = "0.1.0" + versionCode = 2 + versionName = "0.2.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" // A link to the Ko-fi page. Google Play is not given it (-PplayStore=true). @@ -46,7 +46,10 @@ android { buildTypes { debug { applicationIdSuffix = ".debug" } release { - isMinifyEnabled = false + // R8 removes unused code and resources. F-Droid asks for it. + isMinifyEnabled = true + isShrinkResources = true + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) if (signingReady) signingConfig = signingConfigs.getByName("release") } } diff --git a/fastlane/metadata/android/en-US/changelogs/2.txt b/fastlane/metadata/android/en-US/changelogs/2.txt new file mode 100644 index 0000000..1d49769 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/2.txt @@ -0,0 +1 @@ +An "Anki" button sends a term to SubRead Anki. Other apps can read the terms of a text through a content provider. The list of audio sources shows the Forvo speaker once. The app is smaller: R8 removes code that it does not use. diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt new file mode 100644 index 0000000..0927285 --- /dev/null +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -0,0 +1,28 @@ +SubRead Dictionary is a pop-up dictionary for Yomitan dictionaries. + +<b>How to look up a word</b> +<ul> +<li>Select a text in any app and choose "SubRead Dictionary" in the text selection menu.</li> +<li>Share a text to the app.</li> +<li>Send a word from SubRead Overlay.</li> +</ul> + +The pop-up opens over the app. It shows each term at the start of the text, the longest term first, with the reading, the pitch accent, the frequency and a button for the audio. A tap on a character of the text looks up the text from that character. + +<b>Dictionaries</b> +Import a Yomitan .zip file (format 3), for example JMdict, Jitendex, a pitch accent dictionary or a frequency list. The order of the dictionaries in the settings is their order in the pop-up. + +<b>Audio</b> +<ul> +<li>Local audio: choose the android.db file of the Local Audio Server for Yomitan. The app copies it into its folder.</li> +<li>Remote audio: optional and off by default. Give one URL per line, with {term} and {reading}. The default line is JapanesePod101. A Local Audio Server on your network also works.</li> +</ul> + +<b>Anki</b> +The "Anki" button of a term sends the term to SubRead Anki, which makes the card. + +<b>Other apps</b> +Other apps can read the terms of a text through a content provider. + +<b>Privacy</b> +Nothing leaves the device, except when a remote audio source is on. Then the word goes to that server. diff --git a/fastlane/metadata/android/en-US/images/icon.png b/fastlane/metadata/android/en-US/images/icon.png new file mode 100644 index 0000000..25418f1 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/icon.png differ diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 0000000..4ff4af1 --- /dev/null +++ b/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +Pop-up dictionary for Yomitan dictionaries, from the text menu of any app diff --git a/fastlane/metadata/android/en-US/title.txt b/fastlane/metadata/android/en-US/title.txt new file mode 100644 index 0000000..932dfde --- /dev/null +++ b/fastlane/metadata/android/en-US/title.txt @@ -0,0 +1 @@ +SubRead Dictionary diff --git a/fdroid/space.subread.dictionary.yml b/fdroid/space.subread.dictionary.yml new file mode 100644 index 0000000..cb94ab0 --- /dev/null +++ b/fdroid/space.subread.dictionary.yml @@ -0,0 +1,33 @@ +AntiFeatures: + NonFreeNet: + en-US: Remote audio, optional and off by default, gets the audio of a word from JapanesePod101. +Categories: + - Translation & Dictionary +License: AGPL-3.0-only +AuthorName: equwal +SourceCode: https://github.com/equwal/subread-dictionary +IssueTracker: https://github.com/equwal/subread-dictionary/issues +Changelog: https://github.com/equwal/subread-dictionary/releases +Donate: https://ko-fi.com/truex + +AutoName: SubRead Dictionary + +RepoType: git +Repo: https://github.com/equwal/subread-dictionary.git +Binaries: + https://github.com/equwal/subread-dictionary/releases/download/v%v/SubRead-Dictionary-%v.apk + +Builds: + - versionName: 0.2.0 + versionCode: 2 + commit: v0.2.0 + subdir: app + gradle: + - yes + +AllowedAPKSigningKeys: e46f72ef28c79489cad0f1eee60cbf7fd3f29b5bff1bb1d82bab1e30427ff44f + +AutoUpdateMode: Version +UpdateCheckMode: Tags +CurrentVersion: 0.2.0 +CurrentVersionCode: 2 \ No newline at end of file