Clone this repo:
  1. e7fb357 Fix Dart analysis issues. by P.Y. Laligand · 3 weeks ago master
  2. 35ef48d fixes for BoxDecoration API changes by Hixie · 4 weeks ago
  3. 80be8c4 Update Module.Initialize() and StartModule(): pass Link by name, instead of interface by Vardhan Mudunuru · 4 weeks ago
  4. 2e3b6f5 fix(ui): Fixes due to Flutter stack changes by David Yang · 4 weeks ago
  5. 38909cc chore: move dart_test targets to their package roots by YoungSeok Yoon · 5 weeks ago

Contacts

Status: Experimental

What exists here mostly boilerplate for the tooling and infrastructure needed to build out the UI as a set of Flutter Widgets that can be run on Fuchsia and have the UI developed on Android.

Structure

This repo contains code for running a vanilla Flutter application (iOS & Android) and a Fuchsia specific set of modules.

  • modules: Fuchsia application code using Modular APIs.
    • contacts: Is a Flutter app with two entry points, one for Fuchsia and one for Vanilla Flutter.
  • services: FIDL service definitions.

Development

Setup

This repo is already part of the default jiri manifest.

Follow the instructions for setting up a fresh Fuchsia checkout. Once you have the jiri tool installed and have imported the default manifest and updated return to these instructions.

It is recommended you set up the Fuchsia environment helpers in scripts/env.sh:

source scripts/env.sh

Authenticate

Follow authentication instructions for Modules:

Workflow

There are Makefile tasks setup to help simplify common development tasks. Use make help to see what they are.

When you have changes you are ready to see in action you can build with:

make build

Once the system has been built you will need to run a bootserver to get it over to a connected Acer. You can use the env.sh helper to move the build from your host to the target device with:

freboot

Once that is done (it takes a while) you can run the application with:

make run

You can run on a connected android device with:

make flutter-run

Optional: In another terminal you can tail the logs

${FUCHSIA_DIR}/out/build-magenta/tools/loglistener