mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-12-26 06:04:22 -08:00
67 lines
2 KiB
Plaintext
67 lines
2 KiB
Plaintext
---
|
|
id: android
|
|
title: Building the Android App
|
|
sidebar_label: Android
|
|
sidebar_position: 1
|
|
---
|
|
|
|
## 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.
|
|
|
|
1. Use Android Studio to build/debug
|
|
2. Use `git submodule update --init --recursive` to pull in the various sub-modules we depend on.
|
|
3. 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:
|
|
```shell
|
|
rm ./app/google-services.json
|
|
cp ./app/google-services-example.json ./app/google-services.json
|
|
rm ./app/src/main/res/values/curfirmwareversion.xml
|
|
cp ./app/special/curfirmwareversion.xml ./app/src/main/res/values/
|
|
```
|
|
4. 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.
|
|
:::
|
|
|
|
## Setup Analytics
|
|
|
|
Analytics are included but can be disabled by the user on the settings screen.
|
|
|
|
1. Configure analytics for development device
|
|
|
|
```shell
|
|
adb shell setprop debug.firebase.analytics.app com.geeksville.mesh
|
|
adb shell setprop log.tag.FirebaseCrashlytics DEBUG
|
|
```
|
|
|
|
2. Set verbose logging
|
|
|
|
```shell
|
|
adb shell setprop log.tag.FA VERBOSE
|
|
```
|
|
|
|
## Publish to Google Play
|
|
|
|
:::info
|
|
Only available for core developers that publish releases.
|
|
:::
|
|
|
|
1. Add repository secrets:
|
|
- **KEYSTORE_FILENAME**
|
|
- Name of the `.jks`
|
|
- **KEYSTORE**
|
|
- Convert the `.jks` to base64:
|
|
```shell
|
|
openssl base64 < filename.jks | tr -d '\n' | tee filename.txt
|
|
```
|
|
- **KEYSTORE_PROPERTIES**
|
|
- `storePassword=nononononono`
|
|
- `keyPassword=nononononono`
|
|
- `keyAlias=upload`
|
|
- `storeFile=nononononono.jks`
|
|
2. Update protobufs
|
|
3. Go to Actions / Make Release / Run Workflow
|
|
4. Pick the Releases branch
|
|
5. Enter the version found in `app/gradle.build`
|