version of the URL.
Caused by java.net.MalformedURLException: Not a meshtastic URL
at com.geeksville.mesh.model.Channel$Companion.urlToSettings(Channel.java:43)
at com.geeksville.mesh.model.Channel$Companion.access$urlToSettings(Channel.java:19)
at com.geeksville.mesh.model.Channel.<init>(Channel.java:50)
at com.geeksville.mesh.MainActivity.perhapsChangeChannel(MainActivity.java:631)
at com.geeksville.mesh.MainActivity.handleIntent(MainActivity.java:467)
at com.geeksville.mesh.MainActivity.onNewIntent(MainActivity.java:447)
at android.app.Activity.performNewIntent(Activity.java:7971)
at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1407)
at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1420)
at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:3838)
at android.app.ActivityThread.handleNewIntent(ActivityThread.java:3850)
at android.app.servertransaction.NewIntentItem.execute(NewIntentItem.java:53)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2261)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8107)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
Meshtastic-Android
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 early-alpha, 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:
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:
- 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.
- Go to this URL to opt-in to the alpha/beta test.
- 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: 
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/
- 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
