diff --git a/bin/cache/engine.version b/bin/cache/engine.version
index 5e830c2..1ce3d8c 100644
--- a/bin/cache/engine.version
+++ b/bin/cache/engine.version
@@ -1 +1 @@
-f7909035f11b1347814ea2c2942426ef3cf7f44d
+ce3b4547ac579f67a6e473f7f5b5eac4357424ff
diff --git a/bin/flutter b/bin/flutter
index 883e48f..42f5c83 100755
--- a/bin/flutter
+++ b/bin/flutter
@@ -35,7 +35,7 @@
   echo Building flutter tool...
   FLUTTER_DIR="$FLUTTER_ROOT/packages/flutter"
   (cd "$FLUTTER_TOOLS_DIR"; "../../bin/cache/dart-sdk/bin/pub" get --verbosity=warning)
-  "$DART" --snapshot="$SNAPSHOT_PATH" --package-root="$FLUTTER_TOOLS_DIR/packages" "$SCRIPT_PATH"
+  "$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
   echo $REVISION > "$STAMP_PATH"
 fi
 
@@ -51,7 +51,7 @@
 
 if [ $FLUTTER_DEV ]; then
   echo -e "(FLUTTER_DEV set - ignoring $SNAPSHOT_PATH)\n"
-  "$DART" --package-root="$FLUTTER_TOOLS_DIR/packages" "$SCRIPT_PATH" "$@"
+  "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" "$@"
 else
   "$DART" "$SNAPSHOT_PATH" "$@"
 fi
@@ -65,5 +65,5 @@
 
 set -e
 
-"$DART" --snapshot="$SNAPSHOT_PATH" --package-root="$FLUTTER_TOOLS_DIR/packages" "$SCRIPT_PATH"
+"$DART" --snapshot="$SNAPSHOT_PATH" --package="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
 "$DART" "$SNAPSHOT_PATH" "$@"
diff --git a/bin/flutter.bat b/bin/flutter.bat
index d047aa6..8532b3d 100644
--- a/bin/flutter.bat
+++ b/bin/flutter.bat
@@ -38,7 +38,7 @@
 REM Allows us to check if sky_engine's REVISION is correct
 CALL pub.bat get
 CD "%flutter_root%"
-CALL %dart% --snapshot="%snapshot_path%" --package-root="%flutter_tools_dir%\packages" "%script_path%"
+CALL %dart% --snapshot="%snapshot_path%" --packages="%flutter_tools_dir%\.packages" "%script_path%"
 <nul SET /p=%revision%> "%stamp_path%"
 
 :after_snapshot
@@ -48,6 +48,6 @@
 CALL %dart% "%snapshot_path%" %*
 
 IF /I "%ERRORLEVEL%" EQU "253" (
-   CALL %dart% --snapshot="%snapshot_path%" --package-root="%flutter_tools_dir%\packages" "%script_path%"
+   CALL %dart% --snapshot="%snapshot_path%" --packages="%flutter_tools_dir%\.packages" "%script_path%"
    CALL %dart% "%snapshot_path%" %*
 )
diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml
index 1c0dd54..ac749df 100644
--- a/packages/flutter/pubspec.yaml
+++ b/packages/flutter/pubspec.yaml
@@ -9,6 +9,9 @@
   intl: '>=0.12.4+2 <0.13.0'
   vector_math: '>=1.4.5 <2.0.0'
 
+  # We need to pin crypto because archive can't handle larger numbers.
+  crypto: 0.9.2
+
   sky_engine:
     path: ../../bin/cache/pkg/sky_engine
   sky_services:
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart
index 2c5e375..bbf2e52 100644
--- a/packages/flutter_tools/lib/src/artifacts.dart
+++ b/packages/flutter_tools/lib/src/artifacts.dart
@@ -165,27 +165,8 @@
     return null;
   }
 
-  // These values are initialized by FlutterCommandRunner on startup.
+  // Initialized by FlutterCommandRunner on startup.
   static String flutterRoot;
-  static String packageRoot = 'packages';
-
-  static bool get isPackageRootValid {
-    return FileSystemEntity.isDirectorySync(packageRoot);
-  }
-
-  static void ensurePackageRootIsValid() {
-    if (!isPackageRootValid) {
-      String message = '$packageRoot is not a valid directory.';
-      if (packageRoot == 'packages') {
-        if (FileSystemEntity.isFileSync('pubspec.yaml'))
-          message += '\nDid you run `pub get` in this directory?';
-        else
-          message += '\nDid you run this command from the same directory as your pubspec.yaml file?';
-      }
-      printError(message);
-      throw new ProcessExit(2);
-    }
-  }
 
   static String _engineRevision;
 
diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart
index 4828cbb..cf5d98d 100644
--- a/packages/flutter_tools/lib/src/commands/test.dart
+++ b/packages/flutter_tools/lib/src/commands/test.dart
@@ -11,6 +11,7 @@
 import '../artifacts.dart';
 import '../build_configuration.dart';
 import '../globals.dart';
+import '../package_map.dart';
 import '../runner/flutter_command.dart';
 import '../test/flutter_platform.dart' as loader;
 
@@ -99,8 +100,8 @@
 
     // If we're running the flutter tests, we want to use the packages directory
     // from the flutter package in order to find the proper shell binary.
-    if (runFlutterTests && ArtifactStore.packageRoot == 'packages')
-      ArtifactStore.packageRoot = path.join(ArtifactStore.flutterRoot, 'packages', 'flutter', 'packages');
+    if (runFlutterTests)
+      PackageMap.instance = new PackageMap(path.join(ArtifactStore.flutterRoot, 'packages', 'flutter', '.packages'));
 
     Directory testDir = runFlutterTests ? _flutterUnitTestDir : _currentPackageTestDir;
 
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart
index 2703232..7d28f4e 100644
--- a/packages/flutter_tools/lib/src/ios/simulators.dart
+++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -467,7 +467,7 @@
     List<String> args = <String>[
       "--flx=${path.absolute(path.join('build', 'app.flx'))}",
       "--dart-main=${path.absolute(mainPath)}",
-      "--package-root=${path.absolute('packages')}",
+      "--packages=${path.absolute('.packages')}",
     ];
 
     if (checked)
diff --git a/packages/flutter_tools/lib/src/package_map.dart b/packages/flutter_tools/lib/src/package_map.dart
new file mode 100644
index 0000000..473a10e
--- /dev/null
+++ b/packages/flutter_tools/lib/src/package_map.dart
@@ -0,0 +1,42 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'dart:io';
+
+import 'package:package_config/packages_file.dart' as packages_file;
+import 'package:path/path.dart' as path;
+
+const String _kPackages = '.packages';
+
+Map<String, Uri> _parse(String packagesPath) {
+  List<int> source = new File(packagesPath).readAsBytesSync();
+  return packages_file.parse(source, new Uri.file(packagesPath));
+}
+
+class PackageMap {
+  PackageMap(this.packagesPath);
+
+  final String packagesPath;
+
+  Map<String, Uri> get map {
+    if (_map == null)
+      _map = _parse(packagesPath);
+    return _map;
+  }
+  Map<String, Uri> _map;
+
+  static PackageMap instance;
+
+  String checkValid() {
+    if (FileSystemEntity.isFileSync(packagesPath))
+      return null;
+    String message = '$packagesPath does not exist.';
+    String pubspecPath = path.absolute(path.dirname(packagesPath), 'pubspec.yaml');
+    if (FileSystemEntity.isFileSync(pubspecPath))
+      message += '\nDid you run `pub get` in this directory?';
+    else
+      message += '\nDid you run this command from the same directory as your pubspec.yaml file?';
+    return message;
+  }
+}
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index 522563c..9aa4d3a 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -7,12 +7,13 @@
 
 import 'package:args/command_runner.dart';
 
-import '../dart/pub.dart';
 import '../application_package.dart';
 import '../build_configuration.dart';
+import '../dart/pub.dart';
 import '../device.dart';
 import '../flx.dart' as flx;
 import '../globals.dart';
+import '../package_map.dart';
 import '../toolchain.dart';
 import 'flutter_command_runner.dart';
 
@@ -147,6 +148,12 @@
       }
     }
 
+    String error = PackageMap.instance.checkValid();
+    if (error != null) {
+      printError(error);
+      return false;
+    }
+
     return true;
   }
 
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
index 12677af0..2350e4a 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -9,13 +9,14 @@
 import 'package:args/command_runner.dart';
 import 'package:path/path.dart' as path;
 
-import '../android/android_sdk.dart';
 import '../artifacts.dart';
+import '../android/android_sdk.dart';
 import '../base/context.dart';
 import '../base/logger.dart';
 import '../base/process.dart';
 import '../build_configuration.dart';
 import '../globals.dart';
+import '../package_map.dart';
 import 'version.dart';
 
 const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo)
@@ -41,13 +42,13 @@
         help: 'Reports the version of this tool.');
 
     String packagesHelp;
-    if (ArtifactStore.isPackageRootValid)
-      packagesHelp = '\n(defaults to "${ArtifactStore.packageRoot}")';
+    if (FileSystemEntity.isFileSync('.packages'))
+      packagesHelp = '\n(defaults to ".packages")';
     else
-      packagesHelp = '\n(required, since the current directory does not contain a "packages" subdirectory)';
-    argParser.addOption('package-root',
+      packagesHelp = '\n(required, since the current directory does not contain a ".packages" file)';
+    argParser.addOption('packages',
         hide: !verboseHelp,
-        help: 'Path to your packages directory.$packagesHelp');
+        help: 'Path to your ".packages" file.$packagesHelp');
     argParser.addOption('flutter-root',
         help: 'The root directory of the Flutter repository (uses \$$kFlutterRootEnvironmentVariableName if set).',
               defaultsTo: _defaultFlutterRoot);
@@ -184,8 +185,9 @@
     // we must set ArtifactStore.flutterRoot early because other features use it
     // (e.g. enginePath's initialiser uses it)
     ArtifactStore.flutterRoot = path.normalize(path.absolute(globalResults['flutter-root']));
-    if (globalResults.wasParsed('package-root'))
-      ArtifactStore.packageRoot = path.normalize(path.absolute(globalResults['package-root']));
+    PackageMap.instance = new PackageMap(path.normalize(path.absolute(
+      globalResults.wasParsed('packages') ? globalResults['packages'] : '.packages'
+    )));
 
     // See if the user specified a specific device.
     deviceManager.specifiedDeviceId = globalResults['device-id'];
@@ -219,16 +221,13 @@
     bool isRelease = globalResults['release'];
 
     if (engineSourcePath == null && (isDebug || isRelease)) {
-      if (ArtifactStore.isPackageRootValid) {
-        Directory engineDir = new Directory(path.join(ArtifactStore.packageRoot, kFlutterEnginePackageName));
-        try {
-          String realEnginePath = engineDir.resolveSymbolicLinksSync();
-          engineSourcePath = path.dirname(path.dirname(path.dirname(path.dirname(realEnginePath))));
-          bool dirExists = FileSystemEntity.isDirectorySync(path.join(engineSourcePath, 'out'));
-          if (engineSourcePath == '/' || engineSourcePath.isEmpty || !dirExists)
-            engineSourcePath = null;
-        } on FileSystemException { }
-      }
+      try {
+        Uri engineUri = PackageMap.instance.map[kFlutterEnginePackageName];
+        engineSourcePath = path.dirname(path.dirname(path.dirname(path.dirname(engineUri.path))));
+        bool dirExists = FileSystemEntity.isDirectorySync(path.join(engineSourcePath, 'out'));
+        if (engineSourcePath == '/' || engineSourcePath.isEmpty || !dirExists)
+          engineSourcePath = null;
+      } on FileSystemException { } on FormatException { }
 
       if (engineSourcePath == null)
         engineSourcePath = _tryEnginePath(path.join(ArtifactStore.flutterRoot, '../engine/src'));
diff --git a/packages/flutter_tools/lib/src/services.dart b/packages/flutter_tools/lib/src/services.dart
index 552acef..1fc1fe8 100644
--- a/packages/flutter_tools/lib/src/services.dart
+++ b/packages/flutter_tools/lib/src/services.dart
@@ -11,6 +11,7 @@
 
 import 'artifacts.dart';
 import 'globals.dart';
+import 'package_map.dart';
 
 const String _kFlutterManifestPath = 'flutter.yaml';
 const String _kFlutterServicesManifestPath = 'flutter_services.yaml';
@@ -28,22 +29,25 @@
 Future<Null> parseServiceConfigs(
   List<Map<String, String>> services, { List<File> jars }
 ) async {
-  if (!ArtifactStore.isPackageRootValid) {
-    printTrace("Artifact store invalid while parsing service configs");
+  Map<String, Uri> packageMap;
+  try {
+    packageMap = PackageMap.instance.map;
+  } on FormatException catch(e) {
+    printTrace('Invalid ".packages" file while parsing service configs:\n$e');
     return;
   }
 
   dynamic manifest = _loadYamlFile(_kFlutterManifestPath);
   if (manifest == null || manifest['services'] == null) {
-    printTrace("No services specified in the manifest");
+    printTrace('No services specified in the manifest');
     return;
   }
 
   for (String service in manifest['services']) {
-    String serviceRoot = '${ArtifactStore.packageRoot}/$service';
+    String serviceRoot = packageMap[service].path;
     dynamic serviceConfig = _loadYamlFile('$serviceRoot/$_kFlutterServicesManifestPath');
     if (serviceConfig == null) {
-      printStatus("No $_kFlutterServicesManifestPath found for service '$serviceRoot'. Skipping.");
+      printStatus('No $_kFlutterServicesManifestPath found for service "$serviceRoot". Skipping.');
       continue;
     }
 
diff --git a/packages/flutter_tools/lib/src/test/flutter_platform.dart b/packages/flutter_tools/lib/src/test/flutter_platform.dart
index f2db417..b890b44 100644
--- a/packages/flutter_tools/lib/src/test/flutter_platform.dart
+++ b/packages/flutter_tools/lib/src/test/flutter_platform.dart
@@ -14,7 +14,7 @@
 import 'package:test/src/runner/plugin/platform.dart'; // ignore: implementation_imports
 import 'package:test/src/runner/plugin/hack_register_platform.dart' as hack; // ignore: implementation_imports
 
-import '../artifacts.dart';
+import '../package_map.dart';
 
 final String _kSkyShell = Platform.environment['SKY_SHELL'];
 const String _kHost = '127.0.0.1';
@@ -44,12 +44,12 @@
   return new _ServerInfo(server, 'ws://$_kHost:${server.port}$_kPath', socket.future);
 }
 
-Future<Process> _startProcess(String mainPath, { String packageRoot }) {
+Future<Process> _startProcess(String mainPath, { String packages }) {
   assert(shellPath != null || _kSkyShell != null); // Please provide the path to the shell in the SKY_SHELL environment variable.
   return Process.start(shellPath ?? _kSkyShell, [
     '--enable-checked-mode',
     '--non-interactive',
-    '--package-root=$packageRoot',
+    '--packages=$packages',
     mainPath,
   ]);
 }
@@ -90,8 +90,7 @@
 ''');
 
     Process process = await _startProcess(
-      listenerFile.path,
-      packageRoot: path.absolute(ArtifactStore.packageRoot)
+      listenerFile.path, packages: PackageMap.instance.packagesPath
     );
 
     void finalize() {
diff --git a/packages/flutter_tools/lib/src/toolchain.dart b/packages/flutter_tools/lib/src/toolchain.dart
index 9f4a9a5..25015d4 100644
--- a/packages/flutter_tools/lib/src/toolchain.dart
+++ b/packages/flutter_tools/lib/src/toolchain.dart
@@ -10,6 +10,7 @@
 import 'artifacts.dart';
 import 'base/process.dart';
 import 'build_configuration.dart';
+import 'package_map.dart';
 
 class SnapshotCompiler {
   SnapshotCompiler(this._path);
@@ -25,7 +26,7 @@
     final List<String> args = [
       _path,
       mainPath,
-      '--package-root=${ArtifactStore.packageRoot}',
+      '--packages=${PackageMap.instance.packagesPath}',
       '--snapshot=$snapshotPath'
     ];
     if (depfilePath != null)
diff --git a/packages/flutter_tools/pubspec.yaml b/packages/flutter_tools/pubspec.yaml
index 2224524..84fa2dc 100644
--- a/packages/flutter_tools/pubspec.yaml
+++ b/packages/flutter_tools/pubspec.yaml
@@ -11,11 +11,12 @@
   analyzer: '>=0.26.1+17' # see note below
   archive: ^1.0.20
   args: ^0.13.4
-  crypto: ^0.9.2
+  crypto: 0.9.2
   den_api: ^0.1.0
   file: ^0.1.0
   json_schema: ^1.0.3
   mustache4dart: ^1.0.0
+  package_config: ^0.1.3
   path: ^1.3.0
   pub_semver: ^1.0.0
   stack_trace: ^1.4.0
diff --git a/packages/flx/pubspec.yaml b/packages/flx/pubspec.yaml
index 00cd7e2..5cf07be 100644
--- a/packages/flx/pubspec.yaml
+++ b/packages/flx/pubspec.yaml
@@ -7,7 +7,7 @@
   bignum: ^0.1.0
   asn1lib: ^0.4.1
   pointycastle: 0.10.0
-  crypto: ^0.9.2
+  crypto: 0.9.2
 
 environment:
   sdk: '>=1.12.0 <2.0.0'
