This document describes the overview of this project for developers.
See also Build Instruction.
Last Update: 2024.02.25
This is a pure kotlin Android Application.
Gradle Version Catalogs is used in this project:
see libs.versions.toml for all the libraries and all gradle plugins.
Toolchain
- Gradlew
8.5, requiring JDK17 Android Gradle Plugin8.2.2- Android SDK
34 - kotlin for JVM(Android)
1.9.22
Libraries
Highlight:
Jetpack Compose1.6.1Jetpack Datastore1.0.0kotlinx.serializationkotlinx.parcelizekoinas a lightweight Dependency Injection solution
See List of Libraries and Gradle Plugins in Use for details
only one flavor purpose and two default BuildType (debug/release), and all release shrinks and minifies.
| Build Variant | Note |
|---|---|
stable |
for stable and LTS release |
preview |
for preview release, package name suffix .preview |
checkout |
for bug-locate and dev build of Github Action, package name suffix .checkout |
before v4.0, we have more (like common as stable, ci for Github Action).
Currently:
- app(
app/): all actual code of the Phonograph Plus - changelog-generator(
tools/changelog-generator): for generating changelog from
Except gradle's file ():
.github/:Github Actionand templates.idea/: Android Studio's config including code style config and run configapp/,tools/changelog-generator: Gradle Moduledocs/: documentsscripts/: bash scripts for cifastlane/metadata/android/: F-droid metadata, like summary, screenshot, changelogsversion_catalog.json: containing the latest version information that Phonograph Plus would read at- startup
crowdin.yml: Crowdin configurationLICENSE.txt: GPL licensesReleaseNote.toml: GitHub Actionpreview_releaseread this and post to Release Page
TODO