2020-01-23 06:46:23 -08:00
# Meshtastic-Android
2020-01-20 15:54:41 -08:00
2022-01-20 10:20:20 -08:00

2022-06-14 22:05:12 -03:00
[](https://github.com/meshtastic/Meshtastic-Android/actions/workflows/android.yml)
2022-04-05 22:23:19 -07:00
[](https://cla-assistant.io/meshtastic/Meshtastic-Android)
2022-06-14 22:05:12 -03:00
[](https://opencollective.com/meshtastic/)
[](https://vercel.com?utm_source=meshtastic& utm_campaign=oss)
2020-04-02 22:37:48 -07:00
2021-07-09 14:04:53 +10:00
This is a tool for using Android with open-source mesh radios. For more information see our webpage: [meshtastic.org ](https://www.meshtastic.org ). If you are looking for the the device side code, see [here ](https://github.com/meshtastic/Meshtastic-esp32 ).
2020-01-20 15:54:41 -08:00
2021-11-28 13:12:32 -08:00
This project is currently beta testing, if you have questions or feedback please [Join our discussion forum ](https://meshtastic.discourse.group/ ). We would love to hear from you!
2020-02-15 14:34:58 -08:00
2020-06-04 11:21:24 -07:00
The production version of our application is here:
2020-02-26 14:08:15 -08:00
2020-06-15 20:42:13 -07:00
[](https://play.google.com/store/apps/details?id=com.geeksville.mesh& referrer=utm_source%3Dgithub-android-readme)
2020-02-26 14:08:15 -08:00
2022-08-15 22:23:56 -03:00
To join the beta program for the app go to this [URL ](https://play.google.com/apps/testing/com.geeksville.mesh ) to opt-in to the alpha/beta test.
If you encounter any problems or have questions, [post in the forum ](https://meshtastic.discourse.group/ ) and we'll help.
2020-02-26 14:08:15 -08:00
2022-08-15 22:23:56 -03:00
The app is also distributed via F-Droid repo: [https://mesh.tastic.app/fdroid/repo ](https://mesh.tastic.app/fdroid/repo )
2021-05-28 10:14:39 +08:00
2021-07-09 14:04:53 +10:00
However, if you must use 'raw' APKs you can get them from our [github releases ](https://github.com/meshtastic/Meshtastic-Android/releases ). This is not recommended because if you manually install an APK it will not automatically update.
2021-05-28 10:14:39 +08:00
2020-04-15 07:31:53 -07:00
## Build instructions
2021-07-09 14:04:53 +10:00
If you would like to develop this application we'd love your help! These build instructions are brief
2020-06-04 11:21:24 -07:00
and should be improved, please send a PR if you can.
2020-05-24 08:36:29 -07:00
2022-04-04 00:10:50 -03:00
- Use Android Studio to build/debug
2021-07-09 14:04:53 +10:00
- 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:
```bash
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/
2020-05-24 08:36:29 -07:00
```
2020-04-15 07:31:53 -07:00
2021-07-09 14:04:53 +10:00
- (unfortunately) you need to get a (free) mapbox developer token [here ](https://docs.mapbox.com/android/maps/guides/install/ ) and put that token in your user gradle.properties.
```bash
cat ~/.gradle/gradle.properties
2021-02-16 12:40:12 +08:00
MAPBOX_DOWNLOADS_TOKEN=sk.yourtokenherexxx
```
2022-02-04 23:17:59 -03:00
- (optional) to run CI tests on your fork: 1) allow GitHub Actions; 2) add your token at: Settings > Secrets > Actions > New repository secret: Name: MAPBOXTOKEN Value: sk.yourtokenherexxx
2021-02-16 12:40:12 +08:00
2021-07-09 14:04:53 +10:00
- 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.
2020-04-15 07:31:53 -07:00
2020-06-04 11:21:24 -07:00
## Analytics setup
2021-07-09 14:04:53 +10:00
- analytics are included but can be disabled by the user on the settings screen
2020-08-11 09:51:45 -04:00
2021-07-09 14:04:53 +10:00
- on dev devices
2020-08-11 09:51:45 -04:00
2021-07-09 14:04:53 +10:00
```bash
2020-08-11 09:51:45 -04:00
adb shell setprop debug.firebase.analytics.app com.geeksville.mesh
2020-06-04 11:21:24 -07:00
adb shell setprop log.tag.FirebaseCrashlytics DEBUG
2020-08-11 09:51:45 -04:00
```
2020-06-04 11:21:24 -07:00
for verbose logging:
2021-07-09 14:04:53 +10:00
```bash
2020-06-04 11:21:24 -07:00
adb shell setprop log.tag.FA VERBOSE
```
2020-04-10 17:12:56 -07:00
# Credits
2020-04-10 17:17:41 -07:00
This project is the work of volunteers:
2021-07-09 14:04:53 +10:00
- @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.
2020-04-10 17:12:56 -07:00
2022-01-29 09:59:34 -03:00
Copyright 2022, Geeksville Industries, LLC. GPL V3 license