mobile_nebula/README.md

68 lines
2.1 KiB
Markdown

# Dependencies
- [`flutter`](https://flutter.dev/docs/get-started/install)
- [`gomobile`](https://godoc.org/golang.org/x/mobile/cmd/gomobile)
- [`android-studio`](https://developer.android.com/studio)
- [Enable NDK](https://developer.android.com/studio/projects/install-ndk) Check local.properties for current NDK version
Copy env.sh.example to env.sh and update your PATH variable to expose both flutter and go bin directories
```export PATH="$PATH:/path/to/go/bin:/path/to/flutter/bin```
# Formatting
`flutter format` can be used to format the code in `lib` and `test` but it's default is 80 char line limit, it's 2020
Use:
```sh
flutter format lib/ test/ -l 120
```
# Release
# Android
## Terminology
APK: Android Package
ADB: Android Debug Bridge - A tool for interacting with running emulators
AVD: Android Virtual Device Manager - A tool for launching, configuring and managing emulators
# `ADB` (Android Debug Bridge)
Android Debug Bridge is an executible that can be found under `~/Android/Sdk/platform-tools/adb` for ease of use add `~/Android/Sdk/platform-tools/` to your `$PATH`. `adb` surfaces a few useful commands.
You can sideload a downloaded APK into a running emulator
```
$ adb install ~/Downloads/Ping_v1.7.03_apkpure.com.apk
Performing Streamed Install
Success
```
You can also use shell to access network utilities like ping
```
$ adb shell ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.206 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.056 ms
...
```
## Release
Update `version` in `pubspec.yaml` to reflect this release, then
`flutter build appbundle --no-shrink`
This will create an android app bundle at `build/app/outputs/bundle/release/`
Upload the android bundle to the google play store https://play.google.com/apps/publish
# iOS
In xcode, Release -> Archive then follow the directions to upload to the app store. If you have issues, https://flutter.dev/docs/deployment/ios#create-a-build-archive
## Release
Update `version` in `pubspec.yaml` to reflect this release, then