forked from core/mobile_nebula
68 lines
2.1 KiB
Markdown
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
|