Nextcloud News for Android is the feed reader client for a self-hosted server
📱🗞️ Android client for the Nextcloud news/feed reader app
At a glance
- What is it?
- news-android is the Android client for the Nextcloud News feed reader, published on Google Play and F-Droid and built as a Gradle project with an Android Studio workflow. It suits people who read RSS on a self-hosted Nextcloud, and it is not a standalone reader that works without the server.
- Who is it for?
- Adopt news-android if you already run the Nextcloud News server and want an Android client that keeps your subscriptions on your own infrastructure, since the app is a front end for that server rather than a reader in its own right. Do not adopt it if you want a standalone feed reader without a server, or if a Google Play account is a blocker, since the F-Droid build is the escape hatch.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A client for a server, not a reader on its own
news-android is the Android client for the Nextcloud News app, whose server side lives in the separate nextcloud/news repository. That relationship defines everything about the app. It does not fetch feeds on your behalf from arbitrary sources and keep them on the device; it is a front end for a feed reader you host, which means subscriptions, folders and read state live on your Nextcloud instance and the app is the way you look at them on a phone.
The app is written in Java, and the repository is a standard Android project built with Gradle, with the application code under the News-Android-App directory and the Gradle wrapper checked in as gradlew and gradlew.bat.
The distribution is unusually open for an Android app, which is the part of the story most worth knowing before you install it. There is a Google Play listing, an F-Droid listing, and a Play Store beta channel badge, plus a latest release badge that points at the GitHub releases. The F-Droid build matters more than it might look, because it is the route to a build that is not tied to the Play Store's distribution terms. One detail to note when you search: the application id is de.luhmer.owncloudnewsreader, a leftover from the project's earlier life, so the listing may not appear under the Nextcloud News name you expect.
Building it is a clone and an Android Studio import
The build instructions list one requirement, Android Studio, and then four steps:
1. Open cmd/terminal
2. Navigate to your workspace
3. Then type in: `git clone https://github.com/nextcloud/news-android.git`
4. Import the Project in Android Studio and start coding!There is no separate toolchain setup, no signing configuration walkthrough and no backend to stand up. The project brings its own Gradle wrapper, a settings.gradle, a build.gradle and a gradle.properties, so an import into Android Studio is expected to be enough to get a working project. The root also carries a Gemfile and a fastlane directory, which is the release and screenshot tooling rather than part of the app build.
The version scheme is worth noticing before you plan a release of your own. The published versions are numbered 0.9.9.96, 0.9.9.95 and 0.9.9.94, with the latest three tagged on 2026-08-23, 2026-04-04 and 2026-01-25. The build number increments on every release while the application version stays put, which is the pattern you use when the Play Store version name has to remain stable for existing users.
Android Auto testing needs simulator apks and a desktop head unit
The README has more detail on testing than most projects, and the Android Auto section is the most involved part of it.
The basic path runs through the SDK Manager in Android Studio, where you select and install the Android Auto API Simulators, then open a terminal in the extras/google/simulators directory of the SDK and install two apks with adb, the media browser simulator and the messaging simulator.
The advanced path, aimed at voice features, is more specific about versions. You install Android 9 in an emulator, because Android 10 did not work with the Android Auto app, then install Android Auto from the Play Store and follow the training instructions. The remaining steps are these:
4. `~/Library/Android/sdk/platform-tools/adb forward tcp:5277 tcp:5277
5. `cd ~/Library/Android/sdk/extras/google/auto`
6. `./desktop-head-unit`
7. From inside the terminal type: `mic play ./voice/pause.wav`This is the shape of the work: a car head unit is simulated on the desktop so a voice command can be pushed at the app without a car. The adb port forward is what carries the request. It is a genuinely useful setup, and it is also the part of the project most likely to rot, since it depends on specific SDK components and a specific Android version.
The project also keeps a docker-nextcloud-test-instances directory, which suggests the server side can be brought up locally for testing rather than only pointed at a hosted instance.
Room schema changes go through LastestVersion.java and a DAO generator
The local database is managed with a code generator, and the README documents the sequence exactly:
- Edit Database Schema in `LastestVersion.java`
- Make sure to increase version number inside `getVersionNumber` function
- Open build.gradle and uncomment imports annotated with `// Required for DAO generation`
- In Android Studio - choose "DatabaseOrmGenerator" configuration
- Hit the "Run" ButtonTwo details here are the kind that cause trouble if they are missed. The version number inside getVersionNumber has to be increased, or existing installs will not migrate. And the imports in build.gradle are commented out by default and annotated with a marker comment, so they have to be uncommented before the generator can run, which keeps the generator dependencies out of a normal build.
Running the DatabaseOrmGenerator configuration from Android Studio regenerates the DAO layer, so the data access objects stay in step with the schema rather than being hand-edited.
For a project that stores read state and cached articles, this is the piece of the codebase that changes most often, and it is also the piece where a mistake produces a broken upgrade path for existing users.
Translations, policy documents and release tooling live in the repository
The repository root is broader than an Android application, and the extra directories explain how the project is run.
The .tx directory is the Transifex configuration, and the contributing list asks contributors to translate the app on Transifex, which is how the localisation of a Nextcloud app is usually handled. A CHANGELOG.md sits next to the README, and there are two policy documents, PRIVACY.md and NEWS-POLICY.md, the latter presumably describing what the app shows and collects as a feed reader. A SECURITY.md directory is present as well, which is where a project documents how to report a vulnerability.
Release and screenshot work is automated. The fastlane directory holds the metadata, including the English phone screenshots linked from the README under fastlane/metadata/android/en-US/images, and there is a Screengrabfile at the root with an executeScreengrab.sh script to run it, which is how the store listings stay in step with the app.
The maintainer is David Luhmer, and the contributor list shows a group of around a dozen people, which for a project of this size is a reasonable spread of ownership for the parts that matter, the app itself and the localisations.
AGPL-3.0 and a client that is only half the system
Two things deserve a decision before you build on this code.
The first is the licence. The project is licensed under AGPL-3.0, with the text in LICENSE.md at the repository root, although the README badge still says GPL v3, which is the kind of mismatch that makes a licence scanner and a human reader disagree. For a client application the AGPL obligations attach to the modified source being offered to users, and a team shipping a customised build should read the terms rather than infer them from the badge.
The second is the shape of the system. A client without its server is a shell, and the app's usefulness is bounded by what the Nextcloud News server supports and by the version of that server you run. That is not a flaw, it is the design of a two-part system, but it means the adoption question is really a question about the server, and the app is the easier half.
The maintenance picture is healthy. The last push was on 2026-10-19, releases landed in January, April and August 2026, and the repository is not archived.
Editorial conclusion
Adopt news-android if you already run the Nextcloud News server and want an Android client that keeps your subscriptions on your own infrastructure, since the app is a front end for that server rather than a reader in its own right. Do not adopt it if you want a standalone feed reader without a server, or if a Google Play account is a blocker, since the F-Droid build is the escape hatch. Before you build it, clone the repository and import it into Android Studio, and if you change the local database, follow the LastestVersion.java and getVersionNumber steps before touching the DAO generator configuration in build.gradle.
Frequently asked questions
How do I build the Nextcloud News Android app from source?
Clone the repository with git clone https://github.com/nextcloud/news-android.git and import the project in Android Studio. The only listed requirement is Android Studio, and the project ships its own Gradle wrapper.
Where can I get the Nextcloud News Android app?
It is published on Google Play, on F-Droid as de.luhmer.owncloudnewsreader, and there is a Play Store beta channel, plus GitHub releases pointed at by the latest release badge.
How do I update the database schema in the news-android app?
Edit the database schema in LastestVersion.java, increase the version number inside the getVersionNumber function, uncomment the imports in build.gradle marked as required for DAO generation, then run the DatabaseOrmGenerator configuration from Android Studio.
Does the Nextcloud News Android app work without a Nextcloud server?
The app is the Android client for the Nextcloud News app, so it needs a Nextcloud instance running the News server, where the subscriptions and stored articles live.
What licence is the Nextcloud News Android app under?
AGPL-3.0, with the licence text in the LICENSE.md file at the repository root. The README badge still refers to GPL v3.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/nextcloud-news-android)Was this useful?