{"id":15109662,"url":"https://github.com/advplyr/audiobookshelf-app","last_synced_at":"2026-05-12T02:06:22.793Z","repository":{"id":37608415,"uuid":"402247991","full_name":"advplyr/audiobookshelf-app","owner":"advplyr","description":"Mobile application for Audiobookshelf","archived":false,"fork":false,"pushed_at":"2025-03-30T09:56:59.000Z","size":21844,"stargazers_count":1610,"open_issues_count":344,"forks_count":211,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-05T10:01:35.119Z","etag":null,"topics":["android","audiobooks","audiobookshelf","ios"],"latest_commit_sha":null,"homepage":"https://audiobookshelf.org","language":"Vue","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/advplyr.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-02T01:06:39.000Z","updated_at":"2025-04-05T09:16:26.000Z","dependencies_parsed_at":"2024-03-27T22:26:46.829Z","dependency_job_id":"035db892-1d18-4e85-800e-e51f13eca2da","html_url":"https://github.com/advplyr/audiobookshelf-app","commit_stats":{"total_commits":1480,"total_committers":108,"mean_commits":"13.703703703703704","dds":0.4621621621621622,"last_synced_commit":"2452f0971498faad3c0fff82538c91f4b0697266"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advplyr%2Faudiobookshelf-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advplyr%2Faudiobookshelf-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advplyr%2Faudiobookshelf-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/advplyr%2Faudiobookshelf-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/advplyr","download_url":"https://codeload.github.com/advplyr/audiobookshelf-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248567548,"owners_count":21125854,"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","audiobooks","audiobookshelf","ios"],"created_at":"2024-09-25T23:20:32.834Z","updated_at":"2026-05-12T02:06:22.787Z","avatar_url":"https://github.com/advplyr.png","language":"Vue","funding_links":[],"categories":["Vue","Vue（104）"],"sub_categories":[],"readme":"# Audiobookshelf Mobile App\n\nAudiobookshelf is a self-hosted audiobook and podcast server.\n\n### Android (beta)\n\nGet the Android app on the [Google Play Store](https://play.google.com/store/apps/details?id=com.audiobookshelf.app)\n\n### iOS (early beta)\n\n**Beta is currently full. Apple has a hard limit of 10k beta testers. Updates will be posted in Discord.**\n\nUsing Test Flight: https://testflight.apple.com/join/wiic7QIW **_(beta is full)_**\n\n---\n\n[Go to the main project repo github.com/advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf) or the project site [audiobookshelf.org](https://audiobookshelf.org)\n\nJoin us on [discord](https://discord.gg/pJsjuNCKRq)\n\n**Requires an Audiobookshelf server to connect with**\n\n\u003cimg alt=\"Screenshot\" src=\"https://github.com/advplyr/audiobookshelf-app/raw/master/screenshots/DeviceDemoScreens.png\" /\u003e\n\n## Contributing\n\nThis application is built using [NuxtJS](https://nuxtjs.org/) and [Capacitor](https://capacitorjs.com/) in order to run on both iOS and Android on the same code base.\n\n### Localization\n\nThank you to [Weblate](https://hosted.weblate.org/engage/audiobookshelf/) for hosting our localization infrastructure pro-bono. If you want to see Audiobookshelf in your language, please help us localize. Additional information on helping with the translations [here](https://www.audiobookshelf.org/faq#how-do-i-help-with-translations). \u003ca href=\"https://hosted.weblate.org/engage/audiobookshelf/\"\u003e \u003cimg src=\"https://hosted.weblate.org/widget/audiobookshelf/abs-mobile-app/horizontal-auto.svg\" alt=\"Translation status\" /\u003e \u003c/a\u003e\n\n### Windows Environment Setup for Android\n\nRequired Software:\n\n- [Git](https://git-scm.com/downloads)\n- [Node.js](https://nodejs.org/en/) (version 20)\n- Code editor of choice([VSCode](https://code.visualstudio.com/download), etc)\n- [Android Studio](https://developer.android.com/studio)\n- [Android SDK](https://developer.android.com/studio)\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall the required software with \u003ca href=(https://docs.microsoft.com/en-us/windows/package-manager/winget/#production-recommended)\u003ewinget\u003c/a\u003e\u003c/summary\u003e\n\n\u003cp\u003e\nNote: This requires a PowerShell prompt with winget installed.  You should be able to copy and paste the code block to install.  If you use an elevated PowerShell prompt, UAC will not pop up during the installs.\n\n```PowerShell\nwinget install -e --id Git.Git; `\nwinget install -e --id Microsoft.VisualStudioCode; `\nwinget install -e --id  Google.AndroidStudio; `\nwinget install -e --id OpenJS.NodeJS --version 20.11.0;\n```\n\n![](/screenshots/dev_setup_windows_winget.png)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr\u003e\n\nYour Windows environment should now be set up and ready to proceed!\n\n### Mac Environment Setup for Android\n\nRequired Software:\n\n- [Android Studio](https://developer.android.com/studio)\n- [Node.js](https://nodejs.org/en/) (version 20)\n- [Cocoapods](https://guides.cocoapods.org/using/getting-started.html#installation)\n- [Android SDK](https://developer.android.com/studio)\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall the required software with \u003ca href=(https://brew.sh/)\u003ehomebrew\u003c/a\u003e\u003c/summary\u003e\n\n\u003cp\u003e\n\n```zsh\nbrew install android-studio node cocoapods\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Start working on the Android app\n\nClone or fork the project from terminal or powershell and `cd` into the project directory.\n\nInstall the required node packages:\n\n```shell\nnpm install\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_android_npm_install.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nGenerate static web app:\n\n```shell\nnpm run generate\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_android_npm_run.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nCopy web app into native android/ios folders:\n\n```shell\nnpx cap sync\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_android_cap_sync.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nOpen Android Studio:\n\n```shell\nnpx cap open android\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_cap_android.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nStart coding!\n\nAfter making changes to the JS layer you need to rebuild the nuxt pages and sync them to the native shells:\n\n```shell\nnpm run sync\n```\n\n### Mac Environment Setup for iOS\n\nRequired Software:\n\n- [Xcode](https://developer.apple.com/xcode/)\n- [Node.js](https://nodejs.org/en/)\n- [Cocoapods](https://guides.cocoapods.org/using/getting-started.html#installation)\n\n### Start working on the iOS app\n\nClone or fork the project in the terminal and `cd` into the project directory.\n\nInstall the required node packages:\n\n```shell\nnpm install\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_ios_npm_install.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nGenerate static web app:\n\n```shell\nnpm run generate\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_ios_npm_generate.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nCopy web app into native android/ios folders:\n\n```shell\nnpx cap sync\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_ios_cap_sync.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nOpen Xcode:\n\n```shell\nnpx cap open ios\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand for screenshot\u003c/summary\u003e\n\n![](/screenshots/dev_setup_ios_cap_open.png)\n\n\u003c/details\u003e\n\u003cbr\u003e\n\nStart coding!\n\nAfter making changes to the JS layer you need to rebuild the nuxt pages and sync them to the native shells:\n\n```shell\nnpm run sync\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvplyr%2Faudiobookshelf-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadvplyr%2Faudiobookshelf-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvplyr%2Faudiobookshelf-app/lists"}