This is a tool for using Android with open-source mesh radios.
 
 
Go to file
Kevin Hester 3f50cab92d make lint failures non fatal 2021-02-21 10:59:51 +08:00
.github/workflows make ci build use mapbox download key per #218 (thanks to @hpsaturn) 2021-02-21 10:47:23 +08:00
.idea 1.1.41 2021-02-04 09:25:06 +08:00
.settings Don't include firmware in development builds (speeds install time) 2020-06-28 14:55:02 -07:00
app make lint failures non fatal 2021-02-21 10:59:51 +08:00
deprecated update to latest launcher icon from @thepoweroftwo 2021-02-01 10:31:24 +08:00
design@a810741521 update to latest launcher icon from @thepoweroftwo 2021-02-01 10:31:24 +08:00
geeksville-androidlib@fb14fb659d fix autobug if user tries to change settings during an update 2021-02-14 16:07:49 +08:00
gradle/wrapper 1.1.8 generate an APK for github fix #200 (sorry for laziness ;-)) 2020-11-11 12:50:27 +08:00
images update to latest launcher icon from @thepoweroftwo 2021-02-01 10:31:24 +08:00
scripts map analytics optional 2020-04-11 13:20:30 -07:00
.gitignore fix gitignore 2020-04-11 13:37:20 -07:00
.gitmodules update libs 2021-01-29 13:44:30 +08:00
.project Don't include firmware in development builds (speeds install time) 2020-06-28 14:55:02 -07:00
LICENSE
README.md add step for getting a mapbox token 2021-02-16 12:40:12 +08:00
TODO.md update libs 2020-07-24 13:00:38 -07:00
build.gradle update to latest kotlin 2021-02-04 09:20:19 +08:00
debugging-android.md
gradle.properties
gradlew update gradle to 6.4 2020-05-29 14:11:43 -07:00
gradlew.bat update gradle to 6.4 2020-05-29 14:11:43 -07:00
settings.gradle

README.md

Meshtastic-Android

Android CI

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

This project is currently beta testing, if you have questions or feedback please Join our discussion forum. We would love to hear from you.

The production version of our application is here:

Download at https://play.google.com/store/apps/details?id=com.geeksville.mesh

But if you want the beta-test app now, we'd love to have your help testing. Three steps to opt-in to the test:

  1. Join this Google group with the account you use in Google Play. Optional - if you just want 'beta builds' not bleeding edge alpha test builds skip to the next step.
  2. Go to this URL to opt-in to the alpha/beta test.
  3. If you encounter any problems or have questions, post in the forumt and we'll help.

The app is also distributed for Amazon Fire devices via the Amazon appstore: Amazon appstore link

Build instructions

If you would like to develop this application we'd love your help! These build instructions are brief and should be improved, please send a PR if you can.

  • Use Android Studio 4.0 RC 1 to build/debug (other versions might work but no promises)
  • Use "git submodule update --init --recursive" to pull in the various submodules we depend on
  • There are a few config files which you'll need to copy from templates included in the project. Run the following commands to do so:
        rm ./app/google-services.json
        cp ./app/google-services-example.json ./app/google-services.json
        rm ./app/src/main/res/values/mapbox-token.xml
        cp ./app/special/mapbox-token.xml ./app/src/main/res/values/
        rm ./app/src/main/res/values/curfirmwareversion.xml
        cp ./app/special/curfirmwareversion.xml ./app/src/main/res/values/
  • (unfortunately) you need to get a (free) mapbox developer token here and put that token in your user gradle.properties.
~/development/meshtastic/MeshUtil$ cat ~/.gradle/gradle.properties
MAPBOX_DOWNLOADS_TOKEN=sk.yourtokenherexxx
  • Now you should be able to select "Run / Run" in the IDE and it will happily start running on your phone or the emulator. Note: The emulators don't support bluetooth, so some features can not be used in that environment.

Analytics setup

  • analytics are included but can be disabled by the user on the settings screen

  • on dev devices

adb shell setprop debug.firebase.analytics.app com.geeksville.mesh
adb shell setprop log.tag.FirebaseCrashlytics DEBUG

for verbose logging:

adb shell setprop log.tag.FA VERBOSE

Publishing to google play

(Only supported if you are a core developer that needs to do releases)

Credits

This project is the work of volunteers:

  • @artemisoftnian: Contributed Spanish translations.
  • @CycloMies: Contributed Swedish, Finnish and German translations.
  • @eriktheV-king: Contributed Dutch and French translations.
  • @Lgoix: Contributed tooltip for radio mode
  • @Eugene: Contributed Russian translation.
  • @Jinx17: Contributed Slovenian translation.
  • @Konradrundfunk: Contributed German fixes.
  • @Mango-sauce: Contributed Chinese translation.
  • @NEKLAN: Contributed Japanese translation.
  • @Ohcdh: Contributed Irish and Italian translations.
  • @Slavino: Contributed Slovak translation.
  • @Zone: Contributed Turkish translation.

Copyright 2019, Geeksville Industries, LLC. GPL V3 license