Meshtastic-Android

meshtasticGPL-3.0活跃维护

Meshtastic 的 Android 客户端,通过蓝牙连接 LoRa 设备,在无蜂窝网络时也能收发加密消息、共享 GPS 位置并查看地图。

Android application for Meshtastic

v2.8.4发布于 2026-11-04 23:39 UTC1,923star +7 / 7 天537fork同步于 2026-11-10 05:51 UTC

怎么上手

由 README 提炼,执行前请确认
从 GitHub Releases 下载 APK 安装,或配合 Obtainium 自动更新;本地构建 google flavor 需在仓库根目录创建 secrets.properties 并设置 MAPS_API_KEY=…
硬件要求按 README 说明

README 未说明硬件要求;这是 Android 应用,需配合 Meshtastic 开源 mesh 电台使用,另提供 Compose Desktop 桌面版安装包

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Meshtastic 官方 Android 客户端,用手机连接开源 mesh 电台收发消息

Meshtastic 的 Android 客户端,通过蓝牙连接 LoRa 设备,在无蜂窝网络时也能收发加密消息、共享 GPS 位置并查看地图。

核心能力

  • 发现周边 mesh 节点与频道,并通过 Mesh Beacon 邀请入网
  • 在地图上绘制航点地理围栏,节点越界时告警
  • 加密备份、恢复与删除设备安全密钥
  • 把共享联系人和频道写入 NFC 标签
  • 显示 XEdDSA 数据包签名状态,并读取 PM1.0/PM2.5/PM10/CO₂ 空气质量遥测

容易踩的坑

google flavor 未配置 MAPS_API_KEY 时构建仍能成功,但地图瓦片无法加载;debug 与 release 版本可并存安装,但不要同时运行,需先强制退出另一个;google flavor 含 Google Maps、Firebase Crashlytics、Datadog 和 Google AI 功能,fdroid flavor 不含这些

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

3 个版本v2.8.4
  1. snapshotSnapshot 29322999 (e6db1a2c3c1ef97e3190114830ba04d9621b93b0)pre-release2026-11-09 · 2026-11-09 19:40 UTC
    查看更新说明

    Automated debug build from the latest commit on main (e6db1a2c3c1ef97e3190114830ba04d9621b93b0), versionCode 29322999. Unsigned/debug-keyed, F-Droid and Google flavors. Not for production use — this release is replaced on every push to main.

    Also includes unsigned desktop installers (macOS .dmg, Windows .msi/.exe, Linux .deb/.rpm/.AppImage) built from the same commit, when that platform's build succeeded.

    Obtainium: enable Include prereleases. Each build's APK filename carries the versionCode, so updates are detected.

  2. v2.8.4v2.8.4 (29322943)最新正式版2026-11-04 · 2026-11-04 23:39 UTC

    Highlights

    A node's 3D model with its live screen, and the mesh in AR. Quick Settings tile, Live Update notifications, Node Tracker widget. Local node names. Stacked nodes draw as one chip. Traceroutes to you. MQTT topics near you. Per-install TAK certificates.

    What's Changed

    🏗️ Features

    🖥️ Desktop

    • fix(cove
  3. v2.8.3v2.8.3 (29322724)2026-10-19 · 2026-10-19 20:46 UTC
    查看更新说明

    Highlights

    Radios on firmware older than 2.5.14 stay connected and lead straight to the firmware update, which is now required. Back up and restore the app database. Failed messages resend in place. Reactions get their own notification channel. Radio settings open without a radio, and search lands on the setting. Site Planner coverage runs on the phone. Many stability fixes.

    What's Changed

    🏗️ Features

    🖥️ Desktop

    • fix(mqtt): remove noop mqtt to allow the mqtt proxy to work on the desktop builds by @Tha14 in https://github.co

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    GitHub all releases Android CI codecov Crowdin CLA assistant Fiscal Contributors Vercel Revved up by Develocity

    The Meshtastic client for Android and Compose Desktop — an app for communicating over open-source mesh radios. For more information see our webpage: meshtastic.org. The device-side code lives in the firmware repository.

    If you have questions or feedback please Join our discussion forum or the Discord Group. We would love to hear from you!

    Features

    Highlights of the 2.8 line:

    • Mesh network discovery to surface nodes and channels around you, with Mesh Beacon invitations for joining nearby meshes.
    • Waypoint geofences — draw zones on the map and get alerts when nodes cross them.
    • Secure key backup — encrypted backup, restore, and delete for your device security keys.
    • NFC sharing — write shared contacts and channels to NFC tags.
    • XEdDSA packet signing indicators in the node and messaging UI.
    • Air-quality telemetry — PM1.0, PM2.5, PM10, and CO₂ readings from supported sensors.
    • App Functions / system-AI integration so on-device assistants can trigger common workflows.

    Get Meshtastic

    The fastest way to get releases is GitHub releases; pair them with Obtainium for automatic updates.

    With Obtainium installed, tap a link below on your phone to set it up with everything pre-configured. The google flavor adds Google Maps, Firebase Crashlytics, Datadog and the Google AI features; fdroid has none of them.

    Channelgoogle flavorfdroid flavor
    Latest releaseAddAdd
    Open betaAddAdd

    What those two channels point at right now:

    ChannelCurrentlyReleased
    Latest releasev2.8.42026-11-04
    Open betanone published right now—

    Closed-beta and per-commit snapshot channels, importable config files, and the setup details are in Test Builds & Obtainium. These links, files and the table above are generated — see obtainium/.

    These providers are also available but may update more slowly.

    Google Play is the last of these to update. To join the Play Store testing program, 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 is available on Flathub (packaging repo: flathub/org.meshtastic.MeshtasticDesktop).

    Documentation

    Both sites are published to GitHub Pages. The site root carries the docs of the latest production release, /main/ is rebuilt from main whenever a push changes the docs, and /api/ is rebuilt from main daily and on each production release.

    SiteURLContents
    User & Developer Docsmeshtastic.github.io/Meshtastic-AndroidJekyll site with the user and developer guides
    API Referencemeshtastic.github.io/Meshtastic-Android/apiDokka-generated KDoc for all public APIs

    Generating Locally

    User & Developer Docs (Jekyll):

    ./gradlew publishDocsSite -Pdocs.channel=root
    BUNDLE_GEMFILE=docs/Gemfile bundle exec jekyll serve \
      --source build/_site --baseurl ""
    

    API Reference (Dokka):

    ./gradlew :dokkaGeneratePublicationHtml
    # Output: build/dokka/html/index.html
    

    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). Protobuf models are consumed from the upstream org.meshtastic:protobufs Maven artifact, pinned in gradle/libs.versions.toml.

    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.

    Module Documentation

    Most modules have their own README with details on their responsibilities, API surface, and internal design.

    ModuleDescription
    androidAppAndroid application host — activity, manifest, flavors, root Koin graph
    desktopAppCompose Desktop host — window, transports, packaging
    core/domainBusiness-logic use cases (radio config, sessions, exports)
    core/repositoryData & infrastructure contracts (RadioTransport, NodeRepository, ServiceRepository)
    core/takserverMeshtastic ↔ TAK (ATAK/iTAK) bridge — CoT server & conversion
    core/bleMultiplatform BLE transport (Kable)
    core/networkInternet comms: firmware metadata, map tiles, radio transports
    core/dataRepository layer — orchestrates DB, network, and service data
    core/databaseRoom KMP local persistence
    core/datastoreDataStore preferences
    core/serviceMeshtastic Android service abstractions
    core/navigationType-safe Navigation 3 route model
    core/resourcesCentralized CMP string & drawable resources
    core/modelShared domain models
    core/uiShared UI components
    core/commonCommon utilities
    core/diKoin DI modules
    core/testingShared test fakes & utilities
    core/konsistKonsist architecture-rule tests (KMP boundary guards)
    core/nfcNFC support
    core/prefsType-safe preferences over multiplatform DataStore
    core/barcodeBarcode / QR scanning
    feature/messagingMessaging UI feature
    feature/mapMap UI feature — shared state, policy, tile sources and the waypoint editor
    feature/map-maplibreMapLibre map surfaces shared by the fdroid flavor and Desktop
    feature/map-terrainOffline terrain math (Terrarium decode, hillshade, contours) shared by both map stacks
    feature/coverageSite Planner coverage computed in-process with ITU-R P.1812 (kp1812)
    feature/nodeNode detail UI feature
    feature/settingsSettings UI feature
    feature/firmwareFirmware update UI feature
    feature/introOnboarding / intro UI feature
    feature/wifi-provisionWi-Fi provisioning UI feature
    feature/connectionsDevice discovery & connection management (BLE / USB / TCP)
    feature/discoveryMesh network discovery (scanner, AI summaries, Mesh Beacon)
    feature/docsIn-app documentation browser with Chirpy AI assistant
    feature/widgetAndroid home-screen Glance widget (live mesh stats)
    baselineprofileMacrobenchmark Baseline Profile generation for :androidApp

    Translations

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

    Integration

    The app includes a built-in local TAK server, turned on with Enable Local TAK Server under Settings → Advanced → TAK Server. It runs a loopback-only TLS (mTLS) server on port 8089 so ATAK on the same device can connect directly and route its traffic over the mesh. See TAK Integration.

    Building the Android App

    [!WARNING] Debug and release builds install side by side to ease development, but don't run both at once — force-quit the one you are not using.

    Follow the Android development guide to set up your environment.

    Note: when building the google flavor locally you will need a Google Maps Android SDK API key to use Google Maps. Create secrets.properties at the repo root and set MAPS_API_KEY=…. Without it the build still succeeds with the placeholder key from secrets.defaults.properties, but map tiles will not load. For example:

    # secrets.properties
    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. Forking or rebranding the app? Read Forks and rebrands first.

    Repository Statistics

    Alt

    Copyright 2025-2026, Meshtastic LLC. GPL-3.0 license