anchr-android
anchr-android copied to clipboard
π± Android client for Anchr.io link collections, built with Flutter
Anchr for Android
Android client for Anchr.io link collections, built with Flutter
Prerequisites
- 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
How to run?
- Check out repository
- Make sure
flutter doctor
has no errors -
flutter packages get
-
flutter run
Developer notes
- State handling architecture inspired by vanilla.
- Generate launcher icon:
flutter packages pub run flutter_launcher_icons:main
Release
- 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 APK -
flutter build appbundle --release --flavor fmain
to build an AppBundle (recommended)
F-Droid
- 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
To Do
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!
License
GNU General Public License v3 (GPL-3) @ Ferdinand MΓΌtsch