- A hosted instance of Anchr and a registered account.
- Java >= 11 (JDK path defined in
android/gradle.properties
) - Flutter >= 2.5.3
- Dart (tested with 2.14.4)
- Android SDK (tested with v31)
- Android Studio (or VSCode)
- An Android device or emulator
- Check out repository
- Make sure
flutter doctor
has no errors flutter packages get
flutter run
- State handling architecture inspired by vanilla.
- Generate launcher icon:
flutter packages pub run flutter_launcher_icons:main
- Have your keystore and password ready, e.g.
~/.android/keystore.jks
- Make sure you have
android/key.properties
, which looks like so
storePassword=shhh
keyPassword=shhh
keyAlias=some_alias_eg_anchr
storeFile=/home/you/.android/keystore.jks
flutter build apk --release --flavor fmain
to build an APKflutter build appbundle --release --flavor fmain
to build an AppBundle (recommended)
- How to add app to F-Droid
- Build Metadata Reference
- Example
build.gradle
for Flutter build - Example store YML for Flutter build
- Fastlane specification
flutter build apk --flavor fdroid
There is still plenty of space for improvements. Those include:
- Add ability to sign up
- Add ability to share collections
- Improve database helpers (e.g. hide one-to-many relation between collections and links from the outside)
- Enhance offline mode
- Show cached content while initial request is pending
- Implement refresh tokens (requires backend changes)
- Add tests
- Clean up code
Feel free to contribute!
GNU General Public License v3 (GPL-3) @ Ferdinand Mütsch