# Nextcloud Android: the official client for a self-hosted cloud

> The Kotlin Android app that connects a phone to a Nextcloud server. It is a client, not a server, and the README is explicit about that boundary. Here is what it does, how to get it, and where it stops being the right tool.

**nextcloud/android** — 📱 Nextcloud Android app

- Repository: https://github.com/nextcloud/android
- Website: https://github.com/nextcloud/android?tab=readme-ov-file#nextcloud-android-app-iphone
- Stars: 5,602 · Forks: 2,029
- Language: Kotlin
- License: GPL-2.0
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/nextcloud-android

## What the Nextcloud Android app is, and what it is not

This repository contains the Android client for Nextcloud, written mainly in Kotlin. It is the app you point at a Nextcloud instance so that files, folders and account data on the server are reachable from a phone or tablet. The README describes it plainly: "The Android client for Nextcloud. Easily work with your data on your Nextcloud."

The audience is narrow but real. You need a Nextcloud server somewhere, whether you host it yourself or someone hosts it for you. The app is the client half of that pair. Anyone who wants free cloud storage without running any infrastructure is looking at the wrong project, because the app has no backend of its own to talk to.

The README draws the boundary sharply: "this repository only manages the Android app. If you find bugs or have problems with the server/backend, you should use the Nextcloud Help Forum to ask for help or report the bug to the Nextcloud server team." That sentence matters more than it looks. A large share of problems people hit with Nextcloud on a phone are server, proxy or configuration issues that the Android team cannot fix, and the README routes them elsewhere on purpose.

The project is not archived, and the last push was on 2026-09-22. The most recent release listed is stable-35.0.0 from 2026-09-16, preceded by two release candidates in the same month. That cadence tells you the app tracks the server's release cycle rather than drifting on its own.

## How the client connects: server URL, account, sync

The architecture is a conventional Android client against a self-hosted API. You supply a server address and credentials, the app authenticates against that instance, and from then on it reads and writes against the server rather than against local-only storage. There is no separate Nextcloud-hosted account layer sitting in between, which is the whole point of the product: the server is yours.

Because the app is a client, its behaviour is coupled to the server's version. The release tags here follow the server's numbering, with stable-35.0.0 as the current line. If you run an older server, the app may still work, but the repository does not promise compatibility with arbitrary server versions, and the README does not publish a compatibility matrix. That is a gap worth knowing about before you plan a fleet rollout.

The repository layout confirms the shape of the codebase: a single app module, Gradle build files at the top level, a doc directory for screenshots, a user_manual directory, and fastlane for store metadata. There is no server component in the tree. Everything under app/ is the client.

One consequence of this design is that offline behaviour and conflict handling are the app's problem, not the server's. The README does not document how conflicts between a local edit and a server-side change are resolved, so if that matters to your workflow, treat it as unverified rather than assume a particular merge strategy.

## Installing the Nextcloud Android app from Google Play, F-Droid or an APK

There are three distribution channels named in the README. Google Play and F-Droid are the store routes, and the release page on GitHub carries APKs for direct installation.

The README lists the package identifier as com.nextcloud.client. That is the string you search for in a store, and it is also the identifier used by the Obtainium configuration the README links to for people who prefer to track releases directly.

If you install from the GitHub release page, the README distinguishes two APK names. APKs with "gplay" in the name correspond to the Google Play distribution, and APKs with "nextcloud" in the name are the other build. Pick deliberately rather than grabbing whichever file sorts first.

For verification, the README publishes the signing certificate fingerprint and points at the Android apksigner documentation for how to check an APK against it:

```bash
SHA-256: fb009522f65e25802261b67b10a45fd70e610031976f40b28a649e152ded0373
SHA-1: 74aa1702e714941be481e1f7ce4a8f779c19dcea
```

The README adds a constraint that catches people out: these fingerprints are "not suitable for Fdroid downloads, as Fdroid is signing it on their own." So if you install through F-Droid, verifying against these values will fail by design, not because you downloaded something malicious.

Building from source is possible in principle given the Gradle setup, but the README does not give build instructions in the excerpt available here. It points contributors at CONTRIBUTING.md for testing guidance. If you need a reproducible build, start there rather than improvising from the top-level files.

After installation, the first real use is signing in to your own instance: you enter the server address and credentials, and the app authenticates against that server. The README does not document the login screen step by step, so expect to follow your server's own connection details rather than a published walkthrough.

## Where the Nextcloud Android app is the wrong tool

The clearest failure mode is not a bug. It is installing the app with no server to point it at. There is no fallback storage, no hosted account, and no way to use the app as a standalone file manager for the cloud. If you do not have a Nextcloud instance, you have nothing to log in to.

The second limitation is support scope. The README is unusually direct that the Android repository does not own server-side problems, and that you should take configuration questions to the Nextcloud Help Forum before opening an issue. For a team used to filing a bug against whichever component appears on screen, this is a friction point: the app can be working correctly while the experience is broken by a reverse proxy, an expired certificate or a server misconfiguration.

The third is version coupling. Release candidates appear shortly before stable releases, and the current stable line is numbered 35.0.0. The repository does not publish which server versions this client supports, so an organisation running an older server has no documented answer from this material about whether the newest client is safe to deploy.

Finally, the licence deserves a plain reading. The repository is GPL-2.0, and the README states that contributions from June 16, 2016 onward are licensed under AGPLv3 or any later version. That mixed history is normal for a long-lived project, but it means anyone embedding or forking the code should read LICENSE.txt and the LICENSES directory rather than assume a single licence covers every file. This is a description of what the repository says, not legal advice.

## How it differs from a generic cloud storage client

The obvious comparison is with a client for a commercial storage service. The difference is not the interface, which is broadly similar in shape: a file list, uploads, downloads, an account. The difference is where the data lives and who operates the API.

A commercial storage client authenticates against infrastructure the vendor runs. You get an account, the vendor handles availability, and the client is a thin front end. The Nextcloud Android app authenticates against infrastructure you or your organisation runs. Availability, backups, upgrades and TLS are your responsibility. The app has no opinion about any of that, and the README does not pretend otherwise.

That trade has a practical consequence for adoption. With a commercial client, a broken login is a vendor support ticket. With Nextcloud Android, a broken login can be the app, the server, or anything in between, and the README's own guidance is to start in the community forum to work out which. The payoff is that nothing about your file storage depends on a third party's pricing or continued operation of a service you do not control.

A second comparison is with the Nextcloud web interface. The web client is served by the server itself and needs no installation, but it is a browser experience and cannot integrate with Android's file and share handling. The Android app exists precisely for that integration, which is why it is a separate codebase in Kotlin rather than a wrapper around the web UI.

## Maintenance, releases and what upgrading costs you

The repository is not archived, and the last push was on 2026-09-22, the same day as the stable-35.0.0 release cycle. The release history shows a deliberate process: rc-35.0.0-02 and rc-35.0.0-03 in the days before stable-35.0.0, which means release candidates are published for testing rather than the stable build appearing without warning.

For operators, the upgrade cost is mostly about testing rather than migration. The README explicitly invites people to install and test pull request builds, daily builds and release candidates, and to test fundamental features on the latest stable release. That is an invitation to act as a tester, and it implies the project expects bugs to surface after release rather than only before it. If you deploy to a large fleet, that expectation is worth pricing into your schedule.

There is no documented rollback procedure in the README. Store-distributed apps generally cannot be trivially downgraded, and the README does not describe a supported path back to an earlier version. Plan for that before pushing a new stable build to everyone at once.

The licence situation adds a small administrative cost. Contributions since June 16, 2016 are under AGPLv3 or later while the repository is listed as GPL-2.0, and the README asks contributors to add an SPDX header when they change a file substantially. The project also states it does not require a CLA and that copyright belongs to individual contributors. For a company intending to redistribute a modified build, that combination is a reason to have someone read LICENSE.txt and the LICENSES directory carefully.

## Conclusion

Adopt it if you already run a Nextcloud server, or if you are evaluating one and need a client on Android. Do not adopt it as a standalone storage app: without a server URL it cannot sync anything, and the repository only manages the app, not the backend. Before rolling it out across a team, verify three things: that your server version is supported by the stable-35.0.0 line, that the APK you distribute came from the release page and matches the published signing certificate fingerprint, and that the F-Droid build is acceptable, since F-Droid signs it independently and the README states the fingerprint is not suitable for F-Droid downloads.

## FAQ

### How do I install the Nextcloud Android app?

The README lists three routes: Google Play, F-Droid, and APKs from the GitHub releases page. The package identifier is com.nextcloud.client, and the README also links an Obtainium configuration for tracking releases directly.

### How do I verify a Nextcloud Android APK before installing it?

The README publishes a SHA-256 and SHA-1 signing certificate fingerprint and links the Android apksigner documentation for checking an APK against them. It notes these values are not suitable for F-Droid downloads, because F-Droid signs the app itself.

### What is the Nextcloud Android app used for?

It is the Android client for Nextcloud, letting you work with your data on your own Nextcloud instance from a phone. It is a client only: the README states this repository manages the Android app and not the server or backend.

### Is the Nextcloud Android app still maintained?

The repository is not archived and the last push was on 2026-09-22. The most recent release listed is stable-35.0.0 from 2026-09-16, following two release candidates earlier that month.

## Sources

- [License: GPL-2.0](https://github.com/nextcloud/android/blob/master/LICENSE)
- [nextcloud/android on GitHub](https://github.com/nextcloud/android)
- [Project website](https://github.com/nextcloud/android?tab=readme-ov-file#nextcloud-android-app-iphone)
- [README](https://github.com/nextcloud/android/blob/master/README.md)
- [Releases](https://github.com/nextcloud/android/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/nextcloud-android
