{"id":21807588,"url":"https://github.com/muety/anchr-android","last_synced_at":"2025-07-15T23:36:47.903Z","repository":{"id":41581451,"uuid":"174820042","full_name":"muety/anchr-android","owner":"muety","description":"📱 Android client for Anchr.io link collections, built with Flutter","archived":false,"fork":false,"pushed_at":"2022-01-20T20:59:27.000Z","size":1068,"stargazers_count":64,"open_issues_count":7,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T11:21:12.757Z","etag":null,"topics":["android","bookmark-manager","cross-platform","dart","dartlang","flutter"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=io.muetsch.anchrandroid","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muety.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-10T12:24:27.000Z","updated_at":"2025-03-18T22:04:01.000Z","dependencies_parsed_at":"2022-08-29T11:02:03.609Z","dependency_job_id":null,"html_url":"https://github.com/muety/anchr-android","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fanchr-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fanchr-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fanchr-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fanchr-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muety","download_url":"https://codeload.github.com/muety/anchr-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248782283,"owners_count":21160716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","bookmark-manager","cross-platform","dart","dartlang","flutter"],"created_at":"2024-11-27T12:46:07.141Z","updated_at":"2025-04-13T20:52:23.819Z","avatar_url":"https://github.com/muety.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://anchr.io/images/logo.png\" width=\"150\"\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003eAnchr for Android\u003c/h2\u003e\n\n\n\u003ch3 align=\"center\"\u003e\n  Android client for Anchr.io link collections, built with Flutter\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://badges.fw-web.space/github/license/muety/anchr-android\"\u003e\n  \u003cimg src=\"https://badges.fw-web.space/endpoint?url=https://wakapi.dev/api/compat/shields/v1/n1try/interval:any/project:anchr-android\u0026color=blue\u0026label=time\"\u003e\n  \u003cimg src=\"https://badges.fw-web.space/github/languages/code-size/muety/wakapi\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://play.google.com/store/apps/details?id=io.muetsch.anchrandroid\u0026utm_source=github\"\u003e\u003cimg src=\"https://anchr.io/i/sdr1N.png\" width=\"150\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n## Prerequisites\n* A hosted instance of [Anchr](https://github.com/n1try/anchr) and a registered account.\n* Java \u003e= 11 (JDK path defined in `android/gradle.properties`)\n* Flutter \u003e= 2.5.3\n* Dart (tested with 2.14.4)\n* Android SDK (tested with v31)\n* Android Studio (or VSCode)\n* An Android device or emulator\n\n## How to run?\n1. Check out repository\n2. Make sure `flutter doctor` has no errors\n3. `flutter packages get`\n4. `flutter run`\n\n## Developer notes\n* State handling architecture inspired by [vanilla](https://github.com/brianegan/flutter_architecture_samples/tree/master/example/vanilla).\n* Generate launcher icon: `flutter packages pub run flutter_launcher_icons:main`\n\n### Release\n* Have your keystore and password ready, e.g. `~/.android/keystore.jks`\n* Make sure you have `android/key.properties`, which looks like so\n```\nstorePassword=shhh\nkeyPassword=shhh\nkeyAlias=some_alias_eg_anchr\nstoreFile=/home/you/.android/keystore.jks\n```\n* `flutter build apk --release --flavor fmain` to build an APK\n* `flutter build appbundle --release --flavor fmain` to build an AppBundle (**recommended**)\n\n#### F-Droid\n* [How to add app to F-Droid](https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md)\n* [Build Metadata Reference](https://f-droid.org/docs/Build_Metadata_Reference/)\n* [Example `build.gradle` for Flutter build](https://gitlab.com/nikhiljha/lobsters-app/-/blob/4326b69792c8575e5cbea7c0f2f7ff1b2c38d83d/android/app/build.gradle)\n* [Example store YML for Flutter build](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.nikhiljha.lobstersapp.yml)\n* [Fastlane specification](https://gitlab.com/snippets/1895688)\n\n```bash\nflutter build apk --flavor fdroid\n```\n\n## To Do\nThere is still plenty of space for improvements. Those include:\n\n* Add ability to sign up\n* Add ability to share collections\n* Improve database helpers (e.g. hide one-to-many relation between collections and links from the outside)\n* Enhance offline mode\n  * Show cached content while initial request is pending\n* Implement refresh tokens (_requires backend changes_)\n* Add tests\n* Clean up code\n\nFeel free to contribute!\n\n## License\nGNU General Public License v3 (GPL-3) @ [Ferdinand Mütsch](https://muetsch.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuety%2Fanchr-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuety%2Fanchr-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuety%2Fanchr-android/lists"}