## package:devtools_shared/devtools_shared.dart

This is a package shared between devtools_app, dds, and external
users accessing exported JSON files. This package contains structures
describing the format of JSON files e.g., HeapSample, memory structures
collected from the Dart VM (HeapSpace) and collected memory info  from Android's
ADB (AdbMemoryInfo).

## package:devtools_shared/devtools_server.dart

An implementation of shared devtools server classes. 

## Terms and Privacy

By using Dart DevTools, you agree to the
[Google Terms of Service](https://policies.google.com/terms).
