# talk-android: the Android client for a self hosted Nextcloud Talk

> The Nextcloud Talk Android app is the mobile client for an on-premises audio, video and chat service, distributed through Google Play, F-Droid and Obtainium in two differently signed variants. The project ships v25.0.x releases and a GPLv3 contribution policy.

**nextcloud/talk-android** — 📱😀 Video & audio calls through Nextcloud on Android

- Repository: https://github.com/nextcloud/talk-android
- Stars: 748 · Forks: 331
- Language: Kotlin
- License: NOASSERTION
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/nextcloud-talk-android

## A mobile client for calls that never leave your own server

talk-android is the Android app for Nextcloud Talk, and it is worth being clear about what the app is and is not. It is not a calling service in its own right. Nextcloud Talk is a fully on-premises audio, video and chat communication service with web and mobile apps, and this repository is the mobile half of that system. The client talks to a server that the operator runs, and that server is the thing that mediates the calls.

The audience is therefore an organisation that has already decided to host its own Talk server, either as a Nextcloud installation or as the standalone component, and now needs the phones to work with it. The README describes Talk as lowering the barrier for communication so a team can connect with each other, with customers or with partners.

The argument the project makes for the on-premises model is about metadata rather than content. Even in a system where the servers cannot read the content of a conversation, the servers still have to mediate every call and message, which means they can map who talks to whom and at what time. Hosting the server yourself keeps that metadata on infrastructure you control.

The app is written in Kotlin, its application id is `com.nextcloud.talk2`, and the repository is not archived. The last push was on 2026-10-20.

## Two APK variants signed with different fingerprints

The distribution story is more interesting than a single download button, because the same application is published in builds that are signed by different keys, and the README explains which fingerprint to expect for each.

The Google Play build is the one with the `gplay` name, found in the releases section and distributed through the Play Store. A second build, with the `nextcloud` name, is also found in the releases. Both are signed with the same certificate, and the README gives the fingerprints so that an installer can check them with the Android `apksigner` tooling.

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

The third build is the exception, and the README says so plainly: the F-Droid download is not suitable for fingerprint verification, because F-Droid signs it on their own. The fingerprint applies to the Google Play and GitHub builds, and it is the same signing certificate as the Nextcloud Android client app, which is a useful detail for anyone already running the main Nextcloud app on a managed device fleet.

This matters for a specific audience. Anyone distributing the app to an organisation through a device management system, or sideloading it, needs to know which artefact they have and whether it came from a key they trust. Three names, two signers, and one build that cannot be checked against the published fingerprint is a small but real amount of operational work.

## Where the app can be installed from

Three distribution channels are advertised, and they differ in what they promise. The app is on Google Play under the id `com.nextcloud.talk2`. It is on F-Droid under the same package id. It is also available through Obtainium, which tracks releases from a GitHub repository directly and applies its own filtering rules, including an APK filter that keeps only the `nextcloud` prefixed builds and an architecture filter that selects the right binary automatically.

The Obtainium configuration in the README is a good place to look for what a self managed distribution looks like in practice, because it spells out the choices an administrator makes: whether prereleases are included, whether the version falls back to an older release when the newest is unsuitable, how the version is detected, and whether the APK is verified against the latest tag.

The F-Droid channel is the one to think about most carefully, because it is a different signing story as well as a different source. The build there is signed by F-Droid rather than by the project, which is why the published fingerprint does not apply to it. That is a normal consequence of reproducible distribution, and it also means an administrator who pins the fingerprint must pin the right build.

None of the three channels is the only correct answer. The Play Store is the easiest for users, F-Droid is the natural fit for a self hosted organisation that already manages its phones, and Obtainium is the option for a fleet that wants a specific release track from the repository itself.

## A Kotlin app with detekt, SpotBugs and a Renovate schedule

The repository layout shows a modern Android project with a fairly complete toolchain. It is a Gradle project with `build.gradle`, `settings.gradle`, `gradle.properties` and a `gradlew` wrapper, and the application code lives under `app/`. There is a `contribute/` directory, `scripts/`, and `fastlane/` with the release metadata and the store screenshots that the README shows, including the conversations list, the group chat, the call screen, the share sheet and a screen presenting a shared item.

Static analysis is configured in two places, `detekt.yml` for Kotlin style rules and `spotbugs-filter.xml` for the SpotBugs findings that are accepted rather than fixed. Formatting and licensing are handled with `renovate.json5` for dependency updates and `REUSE.toml` with a `LICENSES/` directory, which is why the README carries a REUSE status badge next to the build and release badges. The build itself runs on a Drone instance at drone.nextcloud.com, and the repository also carries a Codacy badge.

The auxiliary files around the code tell the story of the project as an organisation. `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, `SETUP.md` and `AGENTS.md` sit at the top level, translations are managed on Transifex, and the licence file is `LICENCE.md` with the SPDX header in the source files reading GPL-3.0-or-later.

For a contributor, the README is explicit about the route: read `SETUP.md` and `CONTRIBUTING.md` first, fork the repository, and contribute back using pull requests to the master branch.

## GPLv3 contribution terms and the v25.0.x release line

The contribution guidelines state that all contributions to the repository are considered to be licensed under the GNU GPLv3 or any later version, and they point contributors at the contribution guidelines file and the Nextcloud contribution page. The code of conduct is part of the same set of documents, and the README asks people to open an issue or contribute directly if they have a suggestion or a problem.

GitHub reports the licence of this repository as a custom one it cannot classify, which is a description of the metadata rather than of the terms. The terms themselves are GPLv3 or later, stated in the contribution guidelines, and the repository ships a `LICENCE.md` together with a `LICENSES/` directory, which is the layout used by the REUSE standard. Note that the file is spelled `LICENCE.md` here, with a c, while the contribution guidelines link points at `LICENSE.txt`.

The release line is version 25. The most recent tags are v25.0.2 on 2026-10-02, v25.0.1 on 2026-09-23 and v25.0.0 on 2026-09-15, three patch level releases inside a month, which is the pattern of a maintained app that ships fixes as they are needed rather than on a fixed monthly schedule. The repository also carries a `CHANGELOG.md` at the top level.

For an operator rolling the app out to a fleet, the practical point is that the release channel and the build variant have to be chosen together, and both are documented in the README rather than in a separate operations guide.

## Where a hosted calling service differs

The alternative is a hosted calling product that ships its own mobile app and runs the signalling and media infrastructure for you. The difference in approach is exactly the point the project argues for: with a hosted service the provider's servers mediate every call and message, so the metadata about who talks to whom and when sits with the provider, and with talk-android it sits on a server the organisation runs.

The cost of that choice is everything the operator has to take on. The Talk server has to be installed, kept running, reachable by mobile networks, and updated when the project ships server changes, and the mobile app has to be pointed at it and kept in step with the server version. A hosted service gives you a working call on a new phone in minutes; a self hosted one gives you a call that no third party can map.

The other alternative is a client that only does chat, or a separate app for chat and another for calls. Splitting the two means two apps, two accounts and two notification settings for a team that mostly wants one conversation list, which is what the app screens in the README show, with the conversations list and the group chat as the first two views.

A third path is the browser client that Nextcloud Talk also provides. That covers a laptop without any installation, and it is the reason the mobile app is not mandatory, but it gives up the native call experience and the push notification path that a phone app is built around.

## Conclusion

talk-android is the right app for a team that already runs Nextcloud Talk on its own server and wants its phones to join calls and chats on that same instance, and for a user who would rather install a client from F-Droid than from a store. It is the wrong choice for an organisation without a server to host, since the call signalling and media handling live there. Before rolling it out, decide which APK variant you distribute, because the Google Play and GitHub builds are signed differently and the F-Droid build is signed by F-Droid itself, and check the v25.0.2 release notes for what changed in the line you are pinning.

## FAQ

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

It is the mobile client for Nextcloud Talk, a fully on-premises audio, video and chat service with web and mobile apps. The app joins calls and chats on a server the operator hosts, and the package id is com.nextcloud.talk2.

### How do I verify the talk-android APK signature?

The README publishes the SHA-256 and SHA-1 fingerprints of the signing certificate used for the Google Play build and the GitHub `nextcloud` build, and points to the Android apksigner documentation for the check. The F-Droid download is excluded from that check, because F-Droid signs it on their own.

### Where can I download the Nextcloud Talk app for Android?

It is published on Google Play, on F-Droid under the same package id, and through Obtainium, which tracks the GitHub releases and can filter them by release type and architecture. The README also links the releases page where the `gplay` and `nextcloud` APKs are published.

### What licence applies to contributions to talk-android?

The contribution guidelines state that all contributions are considered to be licensed under the GNU GPLv3 or any later version, and the repository ships a LICENCE.md with a LICENSES directory for REUSE compliance. The source files carry an SPDX header of GPL-3.0-or-later.

### How do I contribute to the Nextcloud Talk Android app?

The README asks you to read SETUP.md and CONTRIBUTING.md first, then fork the repository and contribute back with pull requests to the master branch. Translations are handled on Transifex, and issues and pull requests are both accepted.

## Sources

- [Issues](https://github.com/nextcloud/talk-android/issues)
- [nextcloud/talk-android on GitHub](https://github.com/nextcloud/talk-android)
- [README](https://github.com/nextcloud/talk-android/blob/master/README.md)
- [Releases](https://github.com/nextcloud/talk-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-talk-android
