This service is composed of 3 parts.

  1. The mojo definition, gcm.mojom.
  2. The Dart bindings, located in packages/gcm/.
  3. The Flutter mojo service, located in src/.

To release a new version, make your edits to any of these parts, and then rebuild the binaries.

Building new .jar or .dylib files

  1. Set up a flutter engine build as described here.
  2. Run these commands:
cd engine/src
sky/tools/gn --release --android --enable-gcm
ninja -C out/android_Release gcm
  1. The binaries will be located under out/android_Debug/gen/third_party/gcm. The relevant android jars are gcm_lib.dex.jar and interfaces_java.dex.jar.