Skip to content

official-mesh/android

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,534 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Meshtastic Logo

Meshtastic-Android

This repository is a downstream fork of meshtastic/Meshtastic-Android, maintained by The Official Mesh Admin (<officialmeshadmin@proton.me>) as part of the Official Mesh suite.

Project home: officialmesh.org · GitHub org: github.com/official-mesh

Sibling repos: Firmware · Meshbot · Meshbot Remote · Mesh Dualboot · Python CLI

This fork carries private-port modifications (ports 350–365) that interoperate with the Official Mesh Firmware. It is not affiliated with, endorsed by, licensed from, or authorized by Meshtastic LLC or its maintainers. "Meshtastic" is referenced nominatively to identify the upstream project this client is a fork of. The README body below is the upstream README and may drift over time; treat it as descriptive of the upstream client, not of this fork's specific behavior.

Licensing: the fork is dual-licensed — upstream-derived files remain GPL-3.0; novel files authored for the fork (listed in LICENSES/AGPL_FILES.txt) are AGPL-3.0-only. See NOTICE.md. Verify releases against the fingerprint in KEYS and CONTRIBUTING.md for contribution terms.

Official Mesh features: see OFFICIAL_MESH_FEATURES.md for the curated map of UI screens to firmware private ports (350–365) and their underlying repository classes.

GitHub all releases Android CI codecov Crowdin CLA assistant Fiscal Contributors Vercel

This is a tool for using Android (and Compose Desktop) with open-source mesh radios. For more information see our webpage: meshtastic.org. If you are looking for the device side code, see here.

This project is currently beta testing across various providers. If you have questions or feedback please Join our discussion forum or the Discord Group . We would love to hear from you!

Get Meshtastic

The easiest, and fastest way to get the latest beta releases is to use our github releases. It is recommend to use these with Obtainium to get the latest updates.

Alternatively, these other providers are also available, but may be slower to update.

Get it on F-Droid Get it on IzzyOnDroid Get it on GitHub Download at https://play.google.com/store/apps/details?id=com.geeksville.mesh]

The play store is the last to update of these options, but if you want to join the Play Store testing program go to this URL and opt-in to become a tester. If you encounter any problems or have questions, ask us on the discord, create an issue, or post in the forum and we'll help as we can.

Desktop

Meshtastic Desktop installers (macOS DMG, Windows MSI/EXE, Linux DEB/RPM/AppImage) are available from GitHub Releases. A Flatpak package is maintained at vidplace7/org.meshtastic.desktop.

Documentation

The project's documentation is generated with Dokka and hosted on GitHub Pages. It is automatically updated on every push to the main branch.

View Documentation

Generating Locally

You can generate the documentation locally to preview your changes.

  1. Run the Dokka task:
    ./gradlew dokkaGeneratePublicationHtml
  2. View the output: The generated HTML files will be located in the build/dokka/html directory. You can open the index.html file in your browser to view the documentation.

Architecture

Modern Android Development (MAD)

The app follows modern Android development practices, built on top of a shared Kotlin Multiplatform (KMP) Core:

  • KMP Modules: Business logic (core:domain), data sources (core:data, core:database, core:datastore), and communications (core:network, core:ble) are entirely platform-agnostic, targeting Android and Compose Desktop.
  • UI: JetBrains Compose Multiplatform (Material 3) using Compose Multiplatform resources.
  • State Management: Unidirectional Data Flow (UDF) with ViewModels, Coroutines, and Flow.
  • Dependency Injection: Koin with Koin Annotations (K2 Compiler Plugin).
  • Navigation: JetBrains Navigation 3 (Multiplatform routing with RESTful deep linking).
  • Data Layer: Repository pattern with Room KMP (local DB), DataStore (prefs), and Protobuf (device comms).

Bluetooth Low Energy (BLE)

The BLE stack uses a multiplatform interface-driven architecture. Platform-agnostic interfaces live in commonMain, utilizing the Kable multiplatform BLE library to handle device communication across all supported targets (Android, Desktop). This provides a robust, Coroutine-based architecture for reliable device communication while remaining fully KMP compatible. See core/ble/README.md for details.

Translations

You can help translate the app into your native language using Crowdin.

API & Integration

Developers can integrate with the Meshtastic Android app using our published API library via JitPack. This allows third-party applications (like the ATAK plugin) to communicate with the mesh service via AIDL.

For detailed integration instructions, see core/api/README.md.

Additionally, the app includes a built-in Local TAK Server feature that can be enabled in settings. This runs a local TCP server on port 8089 to allow ATAK clients to connect directly and route their traffic over the mesh.

Building the Android App

Warning

Debug and release builds can be installed concurrently. This is solely to enable smoother development, and you should avoid running both apps simultaneously. To ensure proper function, force quit the app not in use.

https://meshtastic.org/docs/development/android/

Note: when building the google flavor locally you will need to supply your own Google Maps Android SDK api key MAPS_API_KEY in local.properties in order to use Google Maps. e.g.

MAPS_API_KEY=your_google_maps_api_key_here

Contributing guidelines

For detailed instructions on how to contribute, please see our CONTRIBUTING.md file. For details on our release process, see the RELEASE_PROCESS.md file.

Repository Statistics

Alt

Copyright 2025, Meshtastic LLC. GPL-3.0 license


Verifying releases (this fork)

Releases of this downstream fork are signed by:

The Official Mesh Admin <officialmeshadmin@proton.me>
GPG fingerprint: 9A18 814D 74A6 3138 9F95  6EA0 5F8D 7A5E ED20 3343

The public key is in KEYS at the repo root, or fetch it from a keyserver:

gpg --keyserver hkps://keys.openpgp.org --recv-keys 9A18814D74A631389F956EA05F8D7A5EED203343

Always verify the fingerprint matches the value above before importing.

gpg --verify meshtastic-android-<ver>.apk.asc meshtastic-android-<ver>.apk
git verify-tag v<ver>

This signature is independent of, and complementary to, the APK signing key — the APK signature ties the binary to a Play-store-style identity; this GPG signature ties releases of this fork to the maintainer's long-term identity used across the Official Mesh suite.

Releases of upstream meshtastic/Meshtastic-Android are not signed by this key.

About

The Official Mesh Android client (and Compose Desktop). The certified UI for the firmware's private-port modules.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Kotlin 97.8%
  • Shell 1.3%
  • PowerShell 0.4%
  • Java 0.3%
  • AIDL 0.1%
  • Python 0.1%