https://wiki.conreality.org/Apps
- Flutter
- Android Studio (for Android only)
- Xcode (for iOS only)
- fastlane (optional)
We recommend using Visual Studio Code as a comparatively lightweight development environment for developing this app.
Build a debug release and run the app on an emulator or device as follows:
$ flutter run
To view the string translations pretty-printed in the terminal, use
column(1)
(requires bsdmainutils
on Debian and derivatives):
$ column -t -s $'\t' etc/strings.tsv
To dump the app's SQLite cache using the Android Debug Bridge, execute:
$ adb exec-out run-as org.conreality.player sqlite3 /data/user/0/org.conreality.player/cache/cache.db .dump
To copy the app's SQLite database to your development host, execute:
$ adb exec-out run-as org.conreality.player cat /data/user/0/org.conreality.player/cache/cache.db > cache.db
To clear the app's SQLite cache, execute:
$ adb exec-out run-as org.conreality.player rm /data/user/0/org.conreality.player/cache/cache.db
$ adb shell am start -D -W -a android.intent.action.SEND -t text/plain -e android.intent.extra.TEXT https://example.org
- Since our model defines an
Object
class, which is usually used without explicit namespacing, when upcasting we should prefer Dart'sdynamic
type over itsObject
base class to avoid ambiguity and confusion. [1]
[1] | https://stackoverflow.com/q/31257735 |