Add Gradle lockfiles and tool to generate them (#83067)

diff --git a/dev/benchmarks/complex_layout/android/build.gradle b/dev/benchmarks/complex_layout/android/build.gradle
index 8468522..734b315 100644
--- a/dev/benchmarks/complex_layout/android/build.gradle
+++ b/dev/benchmarks/complex_layout/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/benchmarks/complex_layout/android/buildscript-gradle.lockfile b/dev/benchmarks/complex_layout/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/benchmarks/complex_layout/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/benchmarks/complex_layout/android/project-app.lockfile b/dev/benchmarks/complex_layout/android/project-app.lockfile
new file mode 100644
index 0000000..cf6325c
--- /dev/null
+++ b/dev/benchmarks/complex_layout/android/project-app.lockfile
@@ -0,0 +1,112 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:2.0.1=debugAndroidTestCompileClasspath
+com.google.code.findbugs:jsr305:3.0.2=debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/benchmarks/complex_layout/android/project-integration_test.lockfile b/dev/benchmarks/complex_layout/android/project-integration_test.lockfile
new file mode 100644
index 0000000..3587433
--- /dev/null
+++ b/dev/benchmarks/complex_layout/android/project-integration_test.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/benchmarks/complex_layout/android/settings.gradle b/dev/benchmarks/complex_layout/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/benchmarks/complex_layout/android/settings.gradle
+++ b/dev/benchmarks/complex_layout/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/benchmarks/macrobenchmarks/android/build.gradle b/dev/benchmarks/macrobenchmarks/android/build.gradle
index 8468522..734b315 100644
--- a/dev/benchmarks/macrobenchmarks/android/build.gradle
+++ b/dev/benchmarks/macrobenchmarks/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/benchmarks/macrobenchmarks/android/buildscript-gradle.lockfile b/dev/benchmarks/macrobenchmarks/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/benchmarks/macrobenchmarks/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/benchmarks/macrobenchmarks/android/project-app.lockfile b/dev/benchmarks/macrobenchmarks/android/project-app.lockfile
new file mode 100644
index 0000000..70c62a0
--- /dev/null
+++ b/dev/benchmarks/macrobenchmarks/android/project-app.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/benchmarks/macrobenchmarks/android/project-integration_test.lockfile b/dev/benchmarks/macrobenchmarks/android/project-integration_test.lockfile
new file mode 100644
index 0000000..3587433
--- /dev/null
+++ b/dev/benchmarks/macrobenchmarks/android/project-integration_test.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/benchmarks/macrobenchmarks/android/settings.gradle b/dev/benchmarks/macrobenchmarks/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/benchmarks/macrobenchmarks/android/settings.gradle
+++ b/dev/benchmarks/macrobenchmarks/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/benchmarks/microbenchmarks/android/build.gradle b/dev/benchmarks/microbenchmarks/android/build.gradle
index 8468522..734b315 100644
--- a/dev/benchmarks/microbenchmarks/android/build.gradle
+++ b/dev/benchmarks/microbenchmarks/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/benchmarks/microbenchmarks/android/settings.gradle b/dev/benchmarks/microbenchmarks/android/settings.gradle
index 663db3a..aba084c 100644
--- a/dev/benchmarks/microbenchmarks/android/settings.gradle
+++ b/dev/benchmarks/microbenchmarks/android/settings.gradle
@@ -2,4 +2,20 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
+
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
+def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
+def properties = new Properties()
+
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
diff --git a/dev/benchmarks/platform_views_layout/android/build.gradle b/dev/benchmarks/platform_views_layout/android/build.gradle
index 8468522..734b315 100644
--- a/dev/benchmarks/platform_views_layout/android/build.gradle
+++ b/dev/benchmarks/platform_views_layout/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/benchmarks/platform_views_layout/android/buildscript-gradle.lockfile b/dev/benchmarks/platform_views_layout/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/benchmarks/platform_views_layout/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/benchmarks/platform_views_layout/android/project-app.lockfile b/dev/benchmarks/platform_views_layout/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/benchmarks/platform_views_layout/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/benchmarks/platform_views_layout/android/settings.gradle b/dev/benchmarks/platform_views_layout/android/settings.gradle
index 663db3a..03ae72d 100644
--- a/dev/benchmarks/platform_views_layout/android/settings.gradle
+++ b/dev/benchmarks/platform_views_layout/android/settings.gradle
@@ -2,4 +2,20 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
+
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
+def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
+def properties = new Properties()
+
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle b/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle
index 8468522..734b315 100644
--- a/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/buildscript-gradle.lockfile b/dev/benchmarks/platform_views_layout_hybrid_composition/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/project-app.lockfile b/dev/benchmarks/platform_views_layout_hybrid_composition/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/settings.gradle b/dev/benchmarks/platform_views_layout_hybrid_composition/android/settings.gradle
index 663db3a..03ae72d 100644
--- a/dev/benchmarks/platform_views_layout_hybrid_composition/android/settings.gradle
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/settings.gradle
@@ -2,4 +2,20 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
+
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
+def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
+def properties = new Properties()
+
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
diff --git a/dev/benchmarks/test_apps/stocks/android/build.gradle b/dev/benchmarks/test_apps/stocks/android/build.gradle
index 8468522..734b315 100644
--- a/dev/benchmarks/test_apps/stocks/android/build.gradle
+++ b/dev/benchmarks/test_apps/stocks/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/benchmarks/test_apps/stocks/android/buildscript-gradle.lockfile b/dev/benchmarks/test_apps/stocks/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/benchmarks/test_apps/stocks/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/benchmarks/test_apps/stocks/android/project-app.lockfile b/dev/benchmarks/test_apps/stocks/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/benchmarks/test_apps/stocks/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/benchmarks/test_apps/stocks/android/settings.gradle b/dev/benchmarks/test_apps/stocks/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/benchmarks/test_apps/stocks/android/settings.gradle
+++ b/dev/benchmarks/test_apps/stocks/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/build.gradle b/dev/integration_tests/abstract_method_smoke_test/android/build.gradle
index 05c0701..734b315 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/build.gradle
+++ b/dev/integration_tests/abstract_method_smoke_test/android/build.gradle
@@ -2,17 +2,25 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
-    ext.kotlin_version = '1.3.50'
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
+    }
 }
 
 allprojects {
@@ -23,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/buildscript-gradle.lockfile b/dev/integration_tests/abstract_method_smoke_test/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/abstract_method_smoke_test/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/project-app.lockfile b/dev/integration_tests/abstract_method_smoke_test/android/project-app.lockfile
new file mode 100644
index 0000000..3c50dcc
--- /dev/null
+++ b/dev/integration_tests/abstract_method_smoke_test/android/project-app.lockfile
@@ -0,0 +1,108 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.4.32=kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,lintClassPath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestApiDependenciesMetadata,androidTestCompileOnlyDependenciesMetadata,androidTestDebugApiDependenciesMetadata,androidTestDebugCompileOnlyDependenciesMetadata,androidTestDebugImplementationDependenciesMetadata,androidTestDebugRuntimeOnlyDependenciesMetadata,androidTestImplementationDependenciesMetadata,androidTestProfileApiDependenciesMetadata,androidTestProfileCompileOnlyDependenciesMetadata,androidTestProfileImplementationDependenciesMetadata,androidTestProfileRuntimeOnlyDependenciesMetadata,androidTestReleaseApiDependenciesMetadata,androidTestReleaseCompileOnlyDependenciesMetadata,androidTestReleaseImplementationDependenciesMetadata,androidTestReleaseRuntimeOnlyDependenciesMetadata,androidTestRuntimeOnlyDependenciesMetadata,androidTestUtil,apiDependenciesMetadata,compile,compileOnlyDependenciesMetadata,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestApiDependenciesMetadata,debugAndroidTestCompile,debugAndroidTestCompileOnlyDependenciesMetadata,debugAndroidTestImplementationDependenciesMetadata,debugAndroidTestRuntime,debugAndroidTestRuntimeClasspath,debugAndroidTestRuntimeOnlyDependenciesMetadata,debugAnnotationProcessorClasspath,debugCompile,debugCompileOnly,debugCompileOnlyDependenciesMetadata,debugReverseMetadataValues,debugRuntime,debugRuntimeOnlyDependenciesMetadata,debugUnitTestAnnotationProcessorClasspath,debugUnitTestApiDependenciesMetadata,debugUnitTestCompile,debugUnitTestCompileOnlyDependenciesMetadata,debugUnitTestImplementationDependenciesMetadata,debugUnitTestRuntime,debugUnitTestRuntimeOnlyDependenciesMetadata,debugWearBundling,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileCompile,profileCompileOnly,profileCompileOnlyDependenciesMetadata,profileReverseMetadataValues,profileRuntime,profileRuntimeOnlyDependenciesMetadata,profileUnitTestAnnotationProcessorClasspath,profileUnitTestApiDependenciesMetadata,profileUnitTestCompile,profileUnitTestCompileOnlyDependenciesMetadata,profileUnitTestImplementationDependenciesMetadata,profileUnitTestRuntime,profileUnitTestRuntimeOnlyDependenciesMetadata,profileWearBundling,releaseAnnotationProcessorClasspath,releaseCompile,releaseCompileOnly,releaseCompileOnlyDependenciesMetadata,releaseReverseMetadataValues,releaseRuntime,releaseRuntimeOnlyDependenciesMetadata,releaseUnitTestAnnotationProcessorClasspath,releaseUnitTestApiDependenciesMetadata,releaseUnitTestCompile,releaseUnitTestCompileOnlyDependenciesMetadata,releaseUnitTestImplementationDependenciesMetadata,releaseUnitTestRuntime,releaseUnitTestRuntimeOnlyDependenciesMetadata,releaseWearBundling,runtimeOnlyDependenciesMetadata,testApiDependenciesMetadata,testCompile,testCompileOnlyDependenciesMetadata,testDebugApiDependenciesMetadata,testDebugCompileOnlyDependenciesMetadata,testDebugImplementationDependenciesMetadata,testDebugRuntimeOnlyDependenciesMetadata,testImplementationDependenciesMetadata,testProfileApiDependenciesMetadata,testProfileCompileOnlyDependenciesMetadata,testProfileImplementationDependenciesMetadata,testProfileRuntimeOnlyDependenciesMetadata,testReleaseApiDependenciesMetadata,testReleaseCompileOnlyDependenciesMetadata,testReleaseImplementationDependenciesMetadata,testReleaseRuntimeOnlyDependenciesMetadata,testRuntimeOnlyDependenciesMetadata
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/settings.gradle b/dev/integration_tests/abstract_method_smoke_test/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/settings.gradle
+++ b/dev/integration_tests/abstract_method_smoke_test/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle b/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle
index 05c0701..734b315 100644
--- a/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle
@@ -2,17 +2,25 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
-    ext.kotlin_version = '1.3.50'
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
+    }
 }
 
 allprojects {
@@ -23,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/buildscript-gradle.lockfile b/dev/integration_tests/android_embedding_v2_smoke_test/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/project-app.lockfile b/dev/integration_tests/android_embedding_v2_smoke_test/android/project-app.lockfile
new file mode 100644
index 0000000..7d09953
--- /dev/null
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/project-app.lockfile
@@ -0,0 +1,108 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.4.32=kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestApiDependenciesMetadata,androidTestCompileOnlyDependenciesMetadata,androidTestDebugApiDependenciesMetadata,androidTestDebugCompileOnlyDependenciesMetadata,androidTestDebugImplementationDependenciesMetadata,androidTestDebugRuntimeOnlyDependenciesMetadata,androidTestImplementationDependenciesMetadata,androidTestProfileApiDependenciesMetadata,androidTestProfileCompileOnlyDependenciesMetadata,androidTestProfileImplementationDependenciesMetadata,androidTestProfileRuntimeOnlyDependenciesMetadata,androidTestReleaseApiDependenciesMetadata,androidTestReleaseCompileOnlyDependenciesMetadata,androidTestReleaseImplementationDependenciesMetadata,androidTestReleaseRuntimeOnlyDependenciesMetadata,androidTestRuntimeOnlyDependenciesMetadata,androidTestUtil,compile,compileOnlyDependenciesMetadata,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestApiDependenciesMetadata,debugAndroidTestCompile,debugAndroidTestCompileOnlyDependenciesMetadata,debugAndroidTestImplementationDependenciesMetadata,debugAndroidTestRuntime,debugAndroidTestRuntimeClasspath,debugAndroidTestRuntimeOnlyDependenciesMetadata,debugAnnotationProcessorClasspath,debugCompile,debugCompileOnly,debugCompileOnlyDependenciesMetadata,debugReverseMetadataValues,debugRuntime,debugRuntimeOnlyDependenciesMetadata,debugUnitTestAnnotationProcessorClasspath,debugUnitTestApiDependenciesMetadata,debugUnitTestCompile,debugUnitTestCompileOnlyDependenciesMetadata,debugUnitTestImplementationDependenciesMetadata,debugUnitTestRuntime,debugUnitTestRuntimeOnlyDependenciesMetadata,debugWearBundling,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileCompile,profileCompileOnly,profileCompileOnlyDependenciesMetadata,profileReverseMetadataValues,profileRuntime,profileRuntimeOnlyDependenciesMetadata,profileUnitTestAnnotationProcessorClasspath,profileUnitTestApiDependenciesMetadata,profileUnitTestCompile,profileUnitTestCompileOnlyDependenciesMetadata,profileUnitTestImplementationDependenciesMetadata,profileUnitTestRuntime,profileUnitTestRuntimeOnlyDependenciesMetadata,profileWearBundling,releaseAnnotationProcessorClasspath,releaseCompile,releaseCompileOnly,releaseCompileOnlyDependenciesMetadata,releaseReverseMetadataValues,releaseRuntime,releaseRuntimeOnlyDependenciesMetadata,releaseUnitTestAnnotationProcessorClasspath,releaseUnitTestApiDependenciesMetadata,releaseUnitTestCompile,releaseUnitTestCompileOnlyDependenciesMetadata,releaseUnitTestImplementationDependenciesMetadata,releaseUnitTestRuntime,releaseUnitTestRuntimeOnlyDependenciesMetadata,releaseWearBundling,runtimeOnlyDependenciesMetadata,testApiDependenciesMetadata,testCompile,testCompileOnlyDependenciesMetadata,testDebugApiDependenciesMetadata,testDebugCompileOnlyDependenciesMetadata,testDebugImplementationDependenciesMetadata,testDebugRuntimeOnlyDependenciesMetadata,testImplementationDependenciesMetadata,testProfileApiDependenciesMetadata,testProfileCompileOnlyDependenciesMetadata,testProfileImplementationDependenciesMetadata,testProfileRuntimeOnlyDependenciesMetadata,testReleaseApiDependenciesMetadata,testReleaseCompileOnlyDependenciesMetadata,testReleaseImplementationDependenciesMetadata,testReleaseRuntimeOnlyDependenciesMetadata,testRuntimeOnlyDependenciesMetadata
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/project-battery.lockfile b/dev/integration_tests/android_embedding_v2_smoke_test/android/project-battery.lockfile
new file mode 100644
index 0000000..8eab5c7
--- /dev/null
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/project-battery.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/settings.gradle b/dev/integration_tests/android_embedding_v2_smoke_test/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/android_embedding_v2_smoke_test/android/settings.gradle
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/android_semantics_testing/android/build.gradle b/dev/integration_tests/android_semantics_testing/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/android_semantics_testing/android/build.gradle
+++ b/dev/integration_tests/android_semantics_testing/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/android_semantics_testing/android/buildscript-gradle.lockfile b/dev/integration_tests/android_semantics_testing/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/android_semantics_testing/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/android_semantics_testing/android/project-app.lockfile b/dev/integration_tests/android_semantics_testing/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/integration_tests/android_semantics_testing/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/android_semantics_testing/android/settings.gradle b/dev/integration_tests/android_semantics_testing/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/android_semantics_testing/android/settings.gradle
+++ b/dev/integration_tests/android_semantics_testing/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/android_views/android/build.gradle b/dev/integration_tests/android_views/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/android_views/android/build.gradle
+++ b/dev/integration_tests/android_views/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/android_views/android/buildscript-gradle.lockfile b/dev/integration_tests/android_views/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/android_views/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/android_views/android/project-app.lockfile b/dev/integration_tests/android_views/android/project-app.lockfile
new file mode 100644
index 0000000..9d44f52
--- /dev/null
+++ b/dev/integration_tests/android_views/android/project-app.lockfile
@@ -0,0 +1,101 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/android_views/android/project-path_provider.lockfile b/dev/integration_tests/android_views/android/project-path_provider.lockfile
new file mode 100644
index 0000000..e28f9a6
--- /dev/null
+++ b/dev/integration_tests/android_views/android/project-path_provider.lockfile
@@ -0,0 +1,103 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/android_views/android/settings.gradle b/dev/integration_tests/android_views/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/android_views/android/settings.gradle
+++ b/dev/integration_tests/android_views/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/channels/android/build.gradle b/dev/integration_tests/channels/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/channels/android/build.gradle
+++ b/dev/integration_tests/channels/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/channels/android/buildscript-gradle.lockfile b/dev/integration_tests/channels/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/channels/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/channels/android/project-app.lockfile b/dev/integration_tests/channels/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/integration_tests/channels/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/channels/android/settings.gradle b/dev/integration_tests/channels/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/channels/android/settings.gradle
+++ b/dev/integration_tests/channels/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/external_ui/android/build.gradle b/dev/integration_tests/external_ui/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/external_ui/android/build.gradle
+++ b/dev/integration_tests/external_ui/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/external_ui/android/buildscript-gradle.lockfile b/dev/integration_tests/external_ui/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/external_ui/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/external_ui/android/project-app.lockfile b/dev/integration_tests/external_ui/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/integration_tests/external_ui/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/external_ui/android/settings.gradle b/dev/integration_tests/external_ui/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/external_ui/android/settings.gradle
+++ b/dev/integration_tests/external_ui/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/flavors/android/build.gradle b/dev/integration_tests/flavors/android/build.gradle
index 75c1d32..734b315 100644
--- a/dev/integration_tests/flavors/android/build.gradle
+++ b/dev/integration_tests/flavors/android/build.gradle
@@ -2,15 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
-        mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -22,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/flavors/android/buildscript-gradle.lockfile b/dev/integration_tests/flavors/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/flavors/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/flavors/android/project-app.lockfile b/dev/integration_tests/flavors/android/project-app.lockfile
new file mode 100644
index 0000000..eb82d37
--- /dev/null
+++ b/dev/integration_tests/flavors/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=freeDebugAndroidTestCompileClasspath,freeDebugCompileClasspath,freeDebugRuntimeClasspath,freeDebugUnitTestCompileClasspath,freeDebugUnitTestRuntimeClasspath,freeProfileCompileClasspath,freeProfileRuntimeClasspath,freeProfileUnitTestCompileClasspath,freeProfileUnitTestRuntimeClasspath,freeReleaseCompileClasspath,freeReleaseRuntimeClasspath,freeReleaseUnitTestCompileClasspath,freeReleaseUnitTestRuntimeClasspath,paidDebugAndroidTestCompileClasspath,paidDebugCompileClasspath,paidDebugRuntimeClasspath,paidDebugUnitTestCompileClasspath,paidDebugUnitTestRuntimeClasspath,paidProfileCompileClasspath,paidProfileRuntimeClasspath,paidProfileUnitTestCompileClasspath,paidProfileUnitTestRuntimeClasspath,paidReleaseCompileClasspath,paidReleaseRuntimeClasspath,paidReleaseUnitTestCompileClasspath,paidReleaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,freeDebugAndroidTestAnnotationProcessorClasspath,freeDebugAndroidTestRuntimeClasspath,freeDebugAnnotationProcessorClasspath,freeDebugReverseMetadataValues,freeDebugUnitTestAnnotationProcessorClasspath,freeDebugWearBundling,freeProfileAnnotationProcessorClasspath,freeProfileReverseMetadataValues,freeProfileUnitTestAnnotationProcessorClasspath,freeProfileWearBundling,freeReleaseAnnotationProcessorClasspath,freeReleaseReverseMetadataValues,freeReleaseUnitTestAnnotationProcessorClasspath,freeReleaseWearBundling,lintChecks,lintPublish,paidDebugAndroidTestAnnotationProcessorClasspath,paidDebugAndroidTestRuntimeClasspath,paidDebugAnnotationProcessorClasspath,paidDebugReverseMetadataValues,paidDebugUnitTestAnnotationProcessorClasspath,paidDebugWearBundling,paidProfileAnnotationProcessorClasspath,paidProfileReverseMetadataValues,paidProfileUnitTestAnnotationProcessorClasspath,paidProfileWearBundling,paidReleaseAnnotationProcessorClasspath,paidReleaseReverseMetadataValues,paidReleaseUnitTestAnnotationProcessorClasspath,paidReleaseWearBundling,testCompile
diff --git a/dev/integration_tests/flavors/android/settings.gradle b/dev/integration_tests/flavors/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/flavors/android/settings.gradle
+++ b/dev/integration_tests/flavors/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/flutter_gallery/android/build.gradle b/dev/integration_tests/flutter_gallery/android/build.gradle
index b4cdd00..734b315 100644
--- a/dev/integration_tests/flutter_gallery/android/build.gradle
+++ b/dev/integration_tests/flutter_gallery/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -17,16 +27,20 @@
     repositories {
         google()
         mavenCentral()
-        maven {
-            url 'https://google.bintray.com/exoplayer/'
-        }
     }
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/flutter_gallery/android/buildscript-gradle.lockfile b/dev/integration_tests/flutter_gallery/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/flutter_gallery/android/project-app.lockfile b/dev/integration_tests/flutter_gallery/android/project-app.lockfile
new file mode 100644
index 0000000..a690244
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/android/project-app.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.android.exoplayer:exoplayer-common:2.12.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-core:2.12.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-dash:2.12.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-extractor:2.12.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-hls:2.12.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-smoothstreaming:2.12.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath
+junit:junit:4.13=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/flutter_gallery/android/project-connectivity.lockfile b/dev/integration_tests/flutter_gallery/android/project-connectivity.lockfile
new file mode 100644
index 0000000..8eab5c7
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/android/project-connectivity.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/flutter_gallery/android/project-device_info.lockfile b/dev/integration_tests/flutter_gallery/android/project-device_info.lockfile
new file mode 100644
index 0000000..8eab5c7
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/android/project-device_info.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/flutter_gallery/android/project-integration_test.lockfile b/dev/integration_tests/flutter_gallery/android/project-integration_test.lockfile
new file mode 100644
index 0000000..3587433
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/android/project-integration_test.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/flutter_gallery/android/project-url_launcher.lockfile b/dev/integration_tests/flutter_gallery/android/project-url_launcher.lockfile
new file mode 100644
index 0000000..49447c5
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/android/project-url_launcher.lockfile
@@ -0,0 +1,153 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:core:1.0.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+backport-util-concurrent:backport-util-concurrent:3.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+classworlds:classworlds:1.1-alpha-2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.almworks.sqlite4java:sqlite4java:0.282=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.auto.service:auto-service:1.0-rc4=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.auto:auto-common:0.8=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.findbugs:jsr305:3.0.2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:27.0.1-jre=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:2.6.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.ibm.icu:icu4j:53.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.annotation:javax.annotation-api:1.3.2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.inject:javax.inject:1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+nekohtml:nekohtml:1.9.6.2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+nekohtml:xercesMinimal:1.9.6.2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.ant:ant-launcher:1.8.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.ant:ant:1.8.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.apache.maven.wagon:wagon-file:1.0-beta-6=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-6=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven.wagon:wagon-http-shared:1.0-beta-6=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven.wagon:wagon-provider-api:1.0-beta-6=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-ant-tasks:2.1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-artifact-manager:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-artifact:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-error-diagnostics:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-model:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-plugin-registry:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-profile:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-project:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-repository-metadata:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.maven:maven-settings:2.2.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.52=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.5.2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.17=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.codehaus.plexus:plexus-container-default:1.0-alpha-9-stable-1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.codehaus.plexus:plexus-interpolation:1.11=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.codehaus.plexus:plexus-utils:1.5.15=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.mockito:mockito-core:1.10.19=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.objenesis:objenesis:2.1=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.ow2.asm:asm-analysis:7.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.ow2.asm:asm-commons:7.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.ow2.asm:asm-tree:7.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.ow2.asm:asm-util:7.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.ow2.asm:asm:7.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:annotations:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:junit:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:pluginapi:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:plugins-maven-dependency-resolver:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:resources:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:robolectric:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:sandbox:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:shadowapi:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:shadows-framework:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:utils-reflector:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.robolectric:utils:4.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/flutter_gallery/android/project-video_player.lockfile b/dev/integration_tests/flutter_gallery/android/project-video_player.lockfile
new file mode 100644
index 0000000..1b1d82b
--- /dev/null
+++ b/dev/integration_tests/flutter_gallery/android/project-video_player.lockfile
@@ -0,0 +1,106 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.android.exoplayer:exoplayer-common:2.12.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-core:2.12.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-dash:2.12.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-extractor:2.12.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-hls:2.12.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.android.exoplayer:exoplayer-smoothstreaming:2.12.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:27.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/flutter_gallery/android/settings.gradle b/dev/integration_tests/flutter_gallery/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/flutter_gallery/android/settings.gradle
+++ b/dev/integration_tests/flutter_gallery/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/build.gradle b/dev/integration_tests/gradle_deprecated_settings/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/gradle_deprecated_settings/android/build.gradle
+++ b/dev/integration_tests/gradle_deprecated_settings/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/buildscript-gradle.lockfile b/dev/integration_tests/gradle_deprecated_settings/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/gradle_deprecated_settings/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/project-app.lockfile b/dev/integration_tests/gradle_deprecated_settings/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/integration_tests/gradle_deprecated_settings/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/project-camera.lockfile b/dev/integration_tests/gradle_deprecated_settings/android/project-camera.lockfile
new file mode 100644
index 0000000..14c9444
--- /dev/null
+++ b/dev/integration_tests/gradle_deprecated_settings/android/project-camera.lockfile
@@ -0,0 +1,105 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.bytebuddy:byte-buddy-agent:1.10.15=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.bytebuddy:byte-buddy:1.10.15=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.mockito:mockito-core:3.5.13=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.objenesis:objenesis:3.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/settings.gradle b/dev/integration_tests/gradle_deprecated_settings/android/settings.gradle
index 2a07d76..03ae72d 100644
--- a/dev/integration_tests/gradle_deprecated_settings/android/settings.gradle
+++ b/dev/integration_tests/gradle_deprecated_settings/android/settings.gradle
@@ -2,23 +2,20 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// This is the `settings.gradle` file that apps currently use.
-// This file has changed, so it must be migrated in existing projects.
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
 
 include ':app'
 
-def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
-def plugins = new Properties()
-def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
-if (pluginsFile.exists()) {
-    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
-}
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
 
-plugins.each { name, path ->
-    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
-    include ":$name"
-    project(":$name").projectDir = pluginDirectory
-}
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
diff --git a/dev/integration_tests/hybrid_android_views/android/build.gradle b/dev/integration_tests/hybrid_android_views/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/hybrid_android_views/android/build.gradle
+++ b/dev/integration_tests/hybrid_android_views/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/hybrid_android_views/android/buildscript-gradle.lockfile b/dev/integration_tests/hybrid_android_views/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/hybrid_android_views/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/hybrid_android_views/android/project-app.lockfile b/dev/integration_tests/hybrid_android_views/android/project-app.lockfile
new file mode 100644
index 0000000..9d44f52
--- /dev/null
+++ b/dev/integration_tests/hybrid_android_views/android/project-app.lockfile
@@ -0,0 +1,101 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/hybrid_android_views/android/project-path_provider.lockfile b/dev/integration_tests/hybrid_android_views/android/project-path_provider.lockfile
new file mode 100644
index 0000000..e28f9a6
--- /dev/null
+++ b/dev/integration_tests/hybrid_android_views/android/project-path_provider.lockfile
@@ -0,0 +1,103 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/hybrid_android_views/android/settings.gradle b/dev/integration_tests/hybrid_android_views/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/hybrid_android_views/android/settings.gradle
+++ b/dev/integration_tests/hybrid_android_views/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/non_nullable/android/build.gradle b/dev/integration_tests/non_nullable/android/build.gradle
index 05c0701..734b315 100644
--- a/dev/integration_tests/non_nullable/android/build.gradle
+++ b/dev/integration_tests/non_nullable/android/build.gradle
@@ -2,17 +2,25 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
-    ext.kotlin_version = '1.3.50'
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
+    }
 }
 
 allprojects {
@@ -23,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/non_nullable/android/buildscript-gradle.lockfile b/dev/integration_tests/non_nullable/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/non_nullable/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/non_nullable/android/project-app.lockfile b/dev/integration_tests/non_nullable/android/project-app.lockfile
new file mode 100644
index 0000000..3c50dcc
--- /dev/null
+++ b/dev/integration_tests/non_nullable/android/project-app.lockfile
@@ -0,0 +1,108 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.4.32=kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,lintClassPath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestApiDependenciesMetadata,androidTestCompileOnlyDependenciesMetadata,androidTestDebugApiDependenciesMetadata,androidTestDebugCompileOnlyDependenciesMetadata,androidTestDebugImplementationDependenciesMetadata,androidTestDebugRuntimeOnlyDependenciesMetadata,androidTestImplementationDependenciesMetadata,androidTestProfileApiDependenciesMetadata,androidTestProfileCompileOnlyDependenciesMetadata,androidTestProfileImplementationDependenciesMetadata,androidTestProfileRuntimeOnlyDependenciesMetadata,androidTestReleaseApiDependenciesMetadata,androidTestReleaseCompileOnlyDependenciesMetadata,androidTestReleaseImplementationDependenciesMetadata,androidTestReleaseRuntimeOnlyDependenciesMetadata,androidTestRuntimeOnlyDependenciesMetadata,androidTestUtil,apiDependenciesMetadata,compile,compileOnlyDependenciesMetadata,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestApiDependenciesMetadata,debugAndroidTestCompile,debugAndroidTestCompileOnlyDependenciesMetadata,debugAndroidTestImplementationDependenciesMetadata,debugAndroidTestRuntime,debugAndroidTestRuntimeClasspath,debugAndroidTestRuntimeOnlyDependenciesMetadata,debugAnnotationProcessorClasspath,debugCompile,debugCompileOnly,debugCompileOnlyDependenciesMetadata,debugReverseMetadataValues,debugRuntime,debugRuntimeOnlyDependenciesMetadata,debugUnitTestAnnotationProcessorClasspath,debugUnitTestApiDependenciesMetadata,debugUnitTestCompile,debugUnitTestCompileOnlyDependenciesMetadata,debugUnitTestImplementationDependenciesMetadata,debugUnitTestRuntime,debugUnitTestRuntimeOnlyDependenciesMetadata,debugWearBundling,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileCompile,profileCompileOnly,profileCompileOnlyDependenciesMetadata,profileReverseMetadataValues,profileRuntime,profileRuntimeOnlyDependenciesMetadata,profileUnitTestAnnotationProcessorClasspath,profileUnitTestApiDependenciesMetadata,profileUnitTestCompile,profileUnitTestCompileOnlyDependenciesMetadata,profileUnitTestImplementationDependenciesMetadata,profileUnitTestRuntime,profileUnitTestRuntimeOnlyDependenciesMetadata,profileWearBundling,releaseAnnotationProcessorClasspath,releaseCompile,releaseCompileOnly,releaseCompileOnlyDependenciesMetadata,releaseReverseMetadataValues,releaseRuntime,releaseRuntimeOnlyDependenciesMetadata,releaseUnitTestAnnotationProcessorClasspath,releaseUnitTestApiDependenciesMetadata,releaseUnitTestCompile,releaseUnitTestCompileOnlyDependenciesMetadata,releaseUnitTestImplementationDependenciesMetadata,releaseUnitTestRuntime,releaseUnitTestRuntimeOnlyDependenciesMetadata,releaseWearBundling,runtimeOnlyDependenciesMetadata,testApiDependenciesMetadata,testCompile,testCompileOnlyDependenciesMetadata,testDebugApiDependenciesMetadata,testDebugCompileOnlyDependenciesMetadata,testDebugImplementationDependenciesMetadata,testDebugRuntimeOnlyDependenciesMetadata,testImplementationDependenciesMetadata,testProfileApiDependenciesMetadata,testProfileCompileOnlyDependenciesMetadata,testProfileImplementationDependenciesMetadata,testProfileRuntimeOnlyDependenciesMetadata,testReleaseApiDependenciesMetadata,testReleaseCompileOnlyDependenciesMetadata,testReleaseImplementationDependenciesMetadata,testReleaseRuntimeOnlyDependenciesMetadata,testRuntimeOnlyDependenciesMetadata
diff --git a/dev/integration_tests/non_nullable/android/settings.gradle b/dev/integration_tests/non_nullable/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/non_nullable/android/settings.gradle
+++ b/dev/integration_tests/non_nullable/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/platform_interaction/android/build.gradle b/dev/integration_tests/platform_interaction/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/platform_interaction/android/build.gradle
+++ b/dev/integration_tests/platform_interaction/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/platform_interaction/android/buildscript-gradle.lockfile b/dev/integration_tests/platform_interaction/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/platform_interaction/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/platform_interaction/android/project-app.lockfile b/dev/integration_tests/platform_interaction/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/dev/integration_tests/platform_interaction/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/platform_interaction/android/settings.gradle b/dev/integration_tests/platform_interaction/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/platform_interaction/android/settings.gradle
+++ b/dev/integration_tests/platform_interaction/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/release_smoke_test/android/build.gradle b/dev/integration_tests/release_smoke_test/android/build.gradle
index 8468522..734b315 100644
--- a/dev/integration_tests/release_smoke_test/android/build.gradle
+++ b/dev/integration_tests/release_smoke_test/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/release_smoke_test/android/buildscript-gradle.lockfile b/dev/integration_tests/release_smoke_test/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/release_smoke_test/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/release_smoke_test/android/project-app.lockfile b/dev/integration_tests/release_smoke_test/android/project-app.lockfile
new file mode 100644
index 0000000..a8d4903
--- /dev/null
+++ b/dev/integration_tests/release_smoke_test/android/project-app.lockfile
@@ -0,0 +1,112 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath
+junit:junit:4.13=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/release_smoke_test/android/project-integration_test.lockfile b/dev/integration_tests/release_smoke_test/android/project-integration_test.lockfile
new file mode 100644
index 0000000..3587433
--- /dev/null
+++ b/dev/integration_tests/release_smoke_test/android/project-integration_test.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/release_smoke_test/android/settings.gradle b/dev/integration_tests/release_smoke_test/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/release_smoke_test/android/settings.gradle
+++ b/dev/integration_tests/release_smoke_test/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/ui/android/build.gradle b/dev/integration_tests/ui/android/build.gradle
index 833506b..734b315 100644
--- a/dev/integration_tests/ui/android/build.gradle
+++ b/dev/integration_tests/ui/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -17,14 +27,20 @@
     repositories {
         google()
         mavenCentral()
-        mavenCentral()
     }
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/integration_tests/ui/android/buildscript-gradle.lockfile b/dev/integration_tests/ui/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/integration_tests/ui/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/integration_tests/ui/android/project-app.lockfile b/dev/integration_tests/ui/android/project-app.lockfile
new file mode 100644
index 0000000..cf6325c
--- /dev/null
+++ b/dev/integration_tests/ui/android/project-app.lockfile
@@ -0,0 +1,112 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:2.0.1=debugAndroidTestCompileClasspath
+com.google.code.findbugs:jsr305:3.0.2=debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/dev/integration_tests/ui/android/project-integration_test.lockfile b/dev/integration_tests/ui/android/project-integration_test.lockfile
new file mode 100644
index 0000000..3587433
--- /dev/null
+++ b/dev/integration_tests/ui/android/project-integration_test.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/dev/integration_tests/ui/android/settings.gradle b/dev/integration_tests/ui/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/integration_tests/ui/android/settings.gradle
+++ b/dev/integration_tests/ui/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/integration_tests/ui/ios/Podfile b/dev/integration_tests/ui/ios/Podfile
new file mode 100644
index 0000000..f7d6a5e
--- /dev/null
+++ b/dev/integration_tests/ui/ios/Podfile
@@ -0,0 +1,38 @@
+# Uncomment this line to define a global platform for your project
+# platform :ios, '9.0'
+
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+  'Debug' => :debug,
+  'Profile' => :release,
+  'Release' => :release,
+}
+
+def flutter_root
+  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
+  unless File.exist?(generated_xcode_build_settings_path)
+    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
+  end
+
+  File.foreach(generated_xcode_build_settings_path) do |line|
+    matches = line.match(/FLUTTER_ROOT\=(.*)/)
+    return matches[1].strip if matches
+  end
+  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_ios_podfile_setup
+
+target 'Runner' do
+  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+end
+
+post_install do |installer|
+  installer.pods_project.targets.each do |target|
+    flutter_additional_ios_build_settings(target)
+  end
+end
diff --git a/dev/manual_tests/android/build.gradle b/dev/manual_tests/android/build.gradle
index 05c0701..734b315 100644
--- a/dev/manual_tests/android/build.gradle
+++ b/dev/manual_tests/android/build.gradle
@@ -2,17 +2,25 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
-    ext.kotlin_version = '1.3.50'
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
+    }
 }
 
 allprojects {
@@ -23,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/dev/manual_tests/android/buildscript-gradle.lockfile b/dev/manual_tests/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/dev/manual_tests/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/dev/manual_tests/android/project-app.lockfile b/dev/manual_tests/android/project-app.lockfile
new file mode 100644
index 0000000..3c50dcc
--- /dev/null
+++ b/dev/manual_tests/android/project-app.lockfile
@@ -0,0 +1,108 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugApiDependenciesMetadata,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileApiDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseApiDependenciesMetadata,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.4.32=kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugImplementationDependenciesMetadata,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,implementationDependenciesMetadata,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,lintClassPath,profileCompileClasspath,profileImplementationDependenciesMetadata,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseImplementationDependenciesMetadata,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestApiDependenciesMetadata,androidTestCompileOnlyDependenciesMetadata,androidTestDebugApiDependenciesMetadata,androidTestDebugCompileOnlyDependenciesMetadata,androidTestDebugImplementationDependenciesMetadata,androidTestDebugRuntimeOnlyDependenciesMetadata,androidTestImplementationDependenciesMetadata,androidTestProfileApiDependenciesMetadata,androidTestProfileCompileOnlyDependenciesMetadata,androidTestProfileImplementationDependenciesMetadata,androidTestProfileRuntimeOnlyDependenciesMetadata,androidTestReleaseApiDependenciesMetadata,androidTestReleaseCompileOnlyDependenciesMetadata,androidTestReleaseImplementationDependenciesMetadata,androidTestReleaseRuntimeOnlyDependenciesMetadata,androidTestRuntimeOnlyDependenciesMetadata,androidTestUtil,apiDependenciesMetadata,compile,compileOnlyDependenciesMetadata,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestApiDependenciesMetadata,debugAndroidTestCompile,debugAndroidTestCompileOnlyDependenciesMetadata,debugAndroidTestImplementationDependenciesMetadata,debugAndroidTestRuntime,debugAndroidTestRuntimeClasspath,debugAndroidTestRuntimeOnlyDependenciesMetadata,debugAnnotationProcessorClasspath,debugCompile,debugCompileOnly,debugCompileOnlyDependenciesMetadata,debugReverseMetadataValues,debugRuntime,debugRuntimeOnlyDependenciesMetadata,debugUnitTestAnnotationProcessorClasspath,debugUnitTestApiDependenciesMetadata,debugUnitTestCompile,debugUnitTestCompileOnlyDependenciesMetadata,debugUnitTestImplementationDependenciesMetadata,debugUnitTestRuntime,debugUnitTestRuntimeOnlyDependenciesMetadata,debugWearBundling,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileCompile,profileCompileOnly,profileCompileOnlyDependenciesMetadata,profileReverseMetadataValues,profileRuntime,profileRuntimeOnlyDependenciesMetadata,profileUnitTestAnnotationProcessorClasspath,profileUnitTestApiDependenciesMetadata,profileUnitTestCompile,profileUnitTestCompileOnlyDependenciesMetadata,profileUnitTestImplementationDependenciesMetadata,profileUnitTestRuntime,profileUnitTestRuntimeOnlyDependenciesMetadata,profileWearBundling,releaseAnnotationProcessorClasspath,releaseCompile,releaseCompileOnly,releaseCompileOnlyDependenciesMetadata,releaseReverseMetadataValues,releaseRuntime,releaseRuntimeOnlyDependenciesMetadata,releaseUnitTestAnnotationProcessorClasspath,releaseUnitTestApiDependenciesMetadata,releaseUnitTestCompile,releaseUnitTestCompileOnlyDependenciesMetadata,releaseUnitTestImplementationDependenciesMetadata,releaseUnitTestRuntime,releaseUnitTestRuntimeOnlyDependenciesMetadata,releaseWearBundling,runtimeOnlyDependenciesMetadata,testApiDependenciesMetadata,testCompile,testCompileOnlyDependenciesMetadata,testDebugApiDependenciesMetadata,testDebugCompileOnlyDependenciesMetadata,testDebugImplementationDependenciesMetadata,testDebugRuntimeOnlyDependenciesMetadata,testImplementationDependenciesMetadata,testProfileApiDependenciesMetadata,testProfileCompileOnlyDependenciesMetadata,testProfileImplementationDependenciesMetadata,testProfileRuntimeOnlyDependenciesMetadata,testReleaseApiDependenciesMetadata,testReleaseCompileOnlyDependenciesMetadata,testReleaseImplementationDependenciesMetadata,testReleaseRuntimeOnlyDependenciesMetadata,testRuntimeOnlyDependenciesMetadata
diff --git a/dev/manual_tests/android/settings.gradle b/dev/manual_tests/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/dev/manual_tests/android/settings.gradle
+++ b/dev/manual_tests/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/dev/manual_tests/windows/flutter/generated_plugin_registrant.cc b/dev/manual_tests/windows/flutter/generated_plugin_registrant.cc
index 8b6d468..4bfa0f3 100644
--- a/dev/manual_tests/windows/flutter/generated_plugin_registrant.cc
+++ b/dev/manual_tests/windows/flutter/generated_plugin_registrant.cc
@@ -2,8 +2,6 @@
 //  Generated file. Do not edit.
 //
 
-// clang-format off
-
 #include "generated_plugin_registrant.h"
 
 
diff --git a/dev/tools/bin/generate_gradle_lockfiles.dart b/dev/tools/bin/generate_gradle_lockfiles.dart
new file mode 100644
index 0000000..c3cb95c
--- /dev/null
+++ b/dev/tools/bin/generate_gradle_lockfiles.dart
@@ -0,0 +1,195 @@
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This script generates `android/build.gradle` for each directory specify in the stdin.
+// Then it generate the lockfiles for each Gradle project.
+// To regenerate these files, run `find . -type d -name 'android' | dart dev/tools/bin/generate_gradle_lockfiles.dart`
+
+import 'dart:io';
+import 'package:file/file.dart';
+import 'package:file/local.dart';
+import 'package:path/path.dart' as path;
+
+void main(List<String> arguments) {
+  print(
+    "Usage: find . -type d -name 'android' | dart dev/tools/bin/generate_gradle_lockfiles.dart\n"
+    'If you would rather enter the files manually, just run `dart dev/tools/bin/generate_gradle_lockfiles.dart`,\n'
+    "enter the absolute paths to the app's android directory, then press CTRL-D.\n"
+  );
+
+  const FileSystem fileSystem = LocalFileSystem();
+  final List<String> androidDirectories = getFilesFromStdin();
+
+  for (final String androidDirectoryPath in androidDirectories) {
+    final Directory androidDirectory = fileSystem.directory(path.normalize(androidDirectoryPath));
+
+    if (!androidDirectory.existsSync())
+      throw '$androidDirectory does not exist';
+
+    final File rootBuildGradle = androidDirectory.childFile('build.gradle');
+    if (!rootBuildGradle.existsSync()) {
+      print('${rootBuildGradle.path} does not exist - skipping');
+      continue;
+    }
+
+    final File settingsGradle = androidDirectory.childFile('settings.gradle');
+    if (!settingsGradle.existsSync()) {
+      print('${settingsGradle.path} does not exist - skipping');
+      continue;
+    }
+
+    if (settingsGradle.readAsStringSync().contains('include_flutter.groovy')) {
+      print('${settingsGradle.path} add to app - skipping');
+      continue;
+    }
+
+    if (!androidDirectory.childDirectory('app').existsSync()) {
+      print('${rootBuildGradle.path} is not an app - skipping');
+      continue;
+    }
+
+    if (!androidDirectory.parent.childFile('pubspec.yaml').existsSync()) {
+      print('${rootBuildGradle.path} no pubspec.yaml in parent directory - skipping');
+      continue;
+    }
+
+    if (!androidDirectory.parent
+        .childDirectory('lib')
+        .childFile('main.dart')
+        .existsSync()) {
+      print('${rootBuildGradle.path} no main.dart under lib - skipping');
+      continue;
+    }
+
+    print('Processing ${androidDirectory.path}');
+
+    rootBuildGradle.writeAsStringSync(rootGradleFileContent);
+    settingsGradle.writeAsStringSync(settingGradleFile);
+
+    final String appDirectory = androidDirectory.parent.absolute.path;
+
+    // Fetch pub dependencies.
+    exec('flutter', <String>['pub', 'get'], workingDirectory: appDirectory);
+
+    // Verify that the Gradlew wrapper exists.
+    final File gradleWrapper = androidDirectory.childFile('gradlew');
+    // Generate Gradle wrapper if it doesn't exists.
+    // This logic is embededed within the Flutter tool.
+    // To generate the wrapper, build a flavor that doesn't exist.
+    if (!gradleWrapper.existsSync()) {
+      Process.runSync(
+        'flutter',
+        <String>['build', 'apk', '--debug', '--flavor=does-not-exist'],
+        workingDirectory: appDirectory,
+      );
+    }
+
+    // Generate lock files.
+    exec(
+      gradleWrapper.absolute.path,
+      <String>[':generateLockfiles'],
+      workingDirectory: androidDirectory.absolute.path,
+    );
+
+    print('Processed');
+  }
+}
+
+List<String> getFilesFromStdin() {
+  final List<String> files = <String>[];
+  while (true) {
+    final String? file = stdin.readLineSync();
+    if (file == null) {
+      break;
+    }
+    files.add(file);
+  }
+  return files;
+}
+
+void exec(
+  String cmd,
+  List<String> args, {
+  String? workingDirectory,
+}) {
+  final ProcessResult result = Process.runSync(cmd, args, workingDirectory: workingDirectory);
+  if (result.exitCode != 0 || '${result.stderr}'.isNotEmpty)
+    throw ProcessException(
+        cmd, args, '${result.stdout}${result.stderr}', result.exitCode);
+}
+
+const String rootGradleFileContent = r'''
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
+buildscript {
+    ext.kotlin_version = '1.4.32'
+    repositories {
+        google()
+        mavenCentral()
+    }
+
+    dependencies {
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
+    }
+}
+
+allprojects {
+    repositories {
+        google()
+        mavenCentral()
+    }
+}
+
+rootProject.buildDir = '../build'
+
+subprojects {
+    project.buildDir = "${rootProject.buildDir}/${project.name}"
+    project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}
+''';
+
+const String settingGradleFile = r'''
+// Copyright 2014 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
+include ':app'
+
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
+def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
+def properties = new Properties()
+
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+''';
diff --git a/examples/flutter_view/android/build.gradle b/examples/flutter_view/android/build.gradle
index 8468522..734b315 100644
--- a/examples/flutter_view/android/build.gradle
+++ b/examples/flutter_view/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/examples/flutter_view/android/buildscript-gradle.lockfile b/examples/flutter_view/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/examples/flutter_view/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/examples/flutter_view/android/project-app.lockfile b/examples/flutter_view/android/project-app.lockfile
new file mode 100644
index 0000000..2cf06cf
--- /dev/null
+++ b/examples/flutter_view/android/project-app.lockfile
@@ -0,0 +1,119 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.appcompat:appcompat:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.asynclayoutinflater:asynclayoutinflater:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.cardview:cardview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.coordinatorlayout:coordinatorlayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.documentfile:documentfile:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.legacy:legacy-support-core-ui:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.legacy:legacy-support-core-utils:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.localbroadcastmanager:localbroadcastmanager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.print:print:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.recyclerview:recyclerview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.slidingpanelayout:slidingpanelayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.swiperefreshlayout:swiperefreshlayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.transition:transition:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.android.material:material:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/examples/flutter_view/android/settings.gradle b/examples/flutter_view/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/examples/flutter_view/android/settings.gradle
+++ b/examples/flutter_view/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/examples/hello_world/android/build.gradle b/examples/hello_world/android/build.gradle
index 8468522..734b315 100644
--- a/examples/hello_world/android/build.gradle
+++ b/examples/hello_world/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/examples/hello_world/android/buildscript-gradle.lockfile b/examples/hello_world/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/examples/hello_world/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/examples/hello_world/android/project-app.lockfile b/examples/hello_world/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/examples/hello_world/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/examples/hello_world/android/settings.gradle b/examples/hello_world/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/examples/hello_world/android/settings.gradle
+++ b/examples/hello_world/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/examples/image_list/android/build.gradle b/examples/image_list/android/build.gradle
index 8468522..734b315 100644
--- a/examples/image_list/android/build.gradle
+++ b/examples/image_list/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/examples/image_list/android/buildscript-gradle.lockfile b/examples/image_list/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/examples/image_list/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/examples/image_list/android/project-app.lockfile b/examples/image_list/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/examples/image_list/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/examples/image_list/android/settings.gradle b/examples/image_list/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/examples/image_list/android/settings.gradle
+++ b/examples/image_list/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/examples/layers/android/build.gradle b/examples/layers/android/build.gradle
index 8468522..734b315 100644
--- a/examples/layers/android/build.gradle
+++ b/examples/layers/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/examples/layers/android/buildscript-gradle.lockfile b/examples/layers/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/examples/layers/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/examples/layers/android/project-app.lockfile b/examples/layers/android/project-app.lockfile
new file mode 100644
index 0000000..94865b0
--- /dev/null
+++ b/examples/layers/android/project-app.lockfile
@@ -0,0 +1,99 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/examples/layers/android/settings.gradle b/examples/layers/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/examples/layers/android/settings.gradle
+++ b/examples/layers/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/examples/platform_channel/android/build.gradle b/examples/platform_channel/android/build.gradle
index 8468522..734b315 100644
--- a/examples/platform_channel/android/build.gradle
+++ b/examples/platform_channel/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/examples/platform_channel/android/buildscript-gradle.lockfile b/examples/platform_channel/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/examples/platform_channel/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/examples/platform_channel/android/project-app.lockfile b/examples/platform_channel/android/project-app.lockfile
new file mode 100644
index 0000000..933e234
--- /dev/null
+++ b/examples/platform_channel/android/project-app.lockfile
@@ -0,0 +1,110 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+androidx.test:monitor:1.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+androidx.test:runner:1.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:2.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+junit:junit:4.13=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/examples/platform_channel/android/settings.gradle b/examples/platform_channel/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/examples/platform_channel/android/settings.gradle
+++ b/examples/platform_channel/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/examples/platform_view/android/build.gradle b/examples/platform_view/android/build.gradle
index 8468522..734b315 100644
--- a/examples/platform_view/android/build.gradle
+++ b/examples/platform_view/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/examples/platform_view/android/buildscript-gradle.lockfile b/examples/platform_view/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/examples/platform_view/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/examples/platform_view/android/project-app.lockfile b/examples/platform_view/android/project-app.lockfile
new file mode 100644
index 0000000..2cf06cf
--- /dev/null
+++ b/examples/platform_view/android/project-app.lockfile
@@ -0,0 +1,119 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.appcompat:appcompat-resources:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.appcompat:appcompat:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.asynclayoutinflater:asynclayoutinflater:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.cardview:cardview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.coordinatorlayout:coordinatorlayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.cursoradapter:cursoradapter:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.documentfile:documentfile:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.drawerlayout:drawerlayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.interpolator:interpolator:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.legacy:legacy-support-core-ui:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.legacy:legacy-support-core-utils:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.localbroadcastmanager:localbroadcastmanager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.print:print:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.recyclerview:recyclerview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.slidingpanelayout:slidingpanelayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.swiperefreshlayout:swiperefreshlayout:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.transition:transition:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.vectordrawable:vectordrawable-animated:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.vectordrawable:vectordrawable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.android.material:material:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.findbugs:jsr305:3.0.2=lintClassPath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=lintClassPath
+com.google.guava:failureaccess:1.0.1=lintClassPath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=lintClassPath
+com.google.j2objc:j2objc-annotations:1.3=lintClassPath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=lintClassPath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=lintClassPath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=lintClassPath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAndroidTestRuntimeClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/examples/platform_view/android/settings.gradle b/examples/platform_view/android/settings.gradle
index d3b6a40..03ae72d 100644
--- a/examples/platform_view/android/settings.gradle
+++ b/examples/platform_view/android/settings.gradle
@@ -2,8 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
+
 def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
 def properties = new Properties()
 
diff --git a/packages/flutter_tools/gradle/flutter.gradle b/packages/flutter_tools/gradle/flutter.gradle
index f68c46e..41f7873 100644
--- a/packages/flutter_tools/gradle/flutter.gradle
+++ b/packages/flutter_tools/gradle/flutter.gradle
@@ -20,6 +20,7 @@
 import org.gradle.api.tasks.OutputDirectory
 import org.gradle.api.tasks.TaskAction
 import org.gradle.api.tasks.bundling.Jar
+import org.gradle.internal.os.OperatingSystem
 import org.gradle.util.VersionNumber
 
 buildscript {
@@ -101,12 +102,25 @@
     void apply(Project project) {
         this.project = project
 
+        def rootProject = project.rootProject
+        rootProject.tasks.register('generateLockfiles') {
+            rootProject.subprojects.each { subproject ->
+                def gradlew = (OperatingSystem.current().isWindows()) ?
+                    "${rootProject.projectDir}/gradlew.bat" : "${rootProject.projectDir}/gradlew"
+                rootProject.exec {
+                    workingDir rootProject.projectDir
+                    executable gradlew
+                    args ":${subproject.name}:dependencies", "--write-locks"
+                }
+            }
+        }
+
         // Configure the Maven repository.
         String hostedRepository = System.env.FLUTTER_STORAGE_BASE_URL ?: DEFAULT_MAVEN_HOST
         String repository = useLocalEngine()
             ? project.property('local-engine-repo')
             : "$hostedRepository/download.flutter.io"
-        project.rootProject.allprojects {
+        rootProject.allprojects {
             repositories {
                 maven {
                     url repository
@@ -341,6 +355,9 @@
             if (!supportsBuildMode(flutterBuildMode)) {
                 return
             }
+            if (!pluginProject.hasProperty('android')) {
+                return
+            }
             // Copy build types from the app to the plugin.
             // This allows to build apps with plugins and custom build types or flavors.
             pluginProject.android.buildTypes {
diff --git a/packages/flutter_tools/lib/src/android/gradle_errors.dart b/packages/flutter_tools/lib/src/android/gradle_errors.dart
index 0e475d9..8428c3b 100644
--- a/packages/flutter_tools/lib/src/android/gradle_errors.dart
+++ b/packages/flutter_tools/lib/src/android/gradle_errors.dart
@@ -75,6 +75,7 @@
   androidXFailureHandler,
   minSdkVersion,
   transformInputIssue,
+  lockFileDepMissing,
 ];
 
 // Permission defined error message.
@@ -429,3 +430,31 @@
   },
   eventLabel: 'transform-input-issue',
 );
+
+/// Handler when a dependency is missing in the lockfile.
+@visibleForTesting
+final GradleHandledError lockFileDepMissing = GradleHandledError(
+  test: (String line) {
+    return line.contains('which is not part of the dependency lock state');
+  },
+  handler: ({
+    String line,
+    FlutterProject project,
+    bool usesAndroidX,
+    bool shouldBuildPluginAsAar,
+  }) async {
+    final File gradleFile = project.directory
+        .childDirectory('android')
+        .childFile('build.gradle');
+
+    globals.printStatus(
+      '\nYou need to update the lockfile, or disable Gradle dependency locking.\n'+
+      globals.logger.terminal.bolden(
+        'To regenerate the lockfiles run: `./gradlew :generateLockfiles` in ${gradleFile.path}\n'
+        'To remove dependency locking, remove the `dependencyLocking` from ${gradleFile.path}\n'
+      )
+    );
+    return GradleBuildStatus.exit;
+  },
+  eventLabel: 'lock-dep-issue',
+);
diff --git a/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
index 20a3ebd..42749e2 100644
--- a/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
@@ -31,6 +31,7 @@
           androidXFailureHandler,
           minSdkVersion,
           transformInputIssue,
+          lockFileDepMissing,
         ])
       );
     });
@@ -727,6 +728,44 @@
       ProcessManager: () => FakeProcessManager.empty(),
     });
   });
+
+  group('Dependency mismatch', () {
+    testWithoutContext('pattern', () {
+      expect(
+        lockFileDepMissing.test('''
+* What went wrong:
+Execution failed for task ':app:generateDebugFeatureTransitiveDeps'.
+> Could not resolve all artifacts for configuration ':app:debugRuntimeClasspath'.
+   > Resolved 'androidx.lifecycle:lifecycle-common:2.2.0' which is not part of the dependency lock state
+   > Resolved 'androidx.customview:customview:1.0.0' which is not part of the dependency lock state'''
+        ),
+        isTrue,
+      );
+    });
+
+    testUsingContext('suggestion', () async {
+      await lockFileDepMissing.handler(
+        project: FlutterProject.fromDirectoryTest(globals.fs.currentDirectory),
+      );
+
+      expect(
+        testLogger.statusText,
+        contains(
+          '\n'
+          'You need to update the lockfile, or disable Gradle dependency locking.\n'
+          'To regenerate the lockfiles run: `./gradlew :generateLockfiles` in /android/build.gradle\n'
+          'To remove dependency locking, remove the `dependencyLocking` from /android/build.gradle\n'
+          '\n'
+          ''
+        )
+      );
+    }, overrides: <Type, Generator>{
+      GradleUtils: () => FakeGradleUtils(),
+      Platform: () => fakePlatform('android'),
+      FileSystem: () => MemoryFileSystem.test(),
+      ProcessManager: () => FakeProcessManager.empty(),
+    });
+  });
 }
 
 bool formatTestErrorMessage(String errorMessage, GradleHandledError error) {
diff --git a/packages/integration_test/android/buildscript-gradle.lockfile b/packages/integration_test/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/packages/integration_test/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/packages/integration_test/example/android/build.gradle b/packages/integration_test/example/android/build.gradle
index 8468522..734b315 100644
--- a/packages/integration_test/example/android/build.gradle
+++ b/packages/integration_test/example/android/build.gradle
@@ -2,14 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the build.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:4.1.3'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
+
+    configurations.classpath {
+        resolutionStrategy.activateDependencyLocking()
     }
 }
 
@@ -21,9 +31,16 @@
 }
 
 rootProject.buildDir = '../build'
+
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
     project.evaluationDependsOn(':app')
+
+    dependencyLocking {
+        ignoredDependencies.add('io.flutter:*')
+        lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
+        lockAllConfigurations()
+    }
 }
 
 task clean(type: Delete) {
diff --git a/packages/integration_test/example/android/buildscript-gradle.lockfile b/packages/integration_test/example/android/buildscript-gradle.lockfile
new file mode 100644
index 0000000..f992a06
--- /dev/null
+++ b/packages/integration_test/example/android/buildscript-gradle.lockfile
@@ -0,0 +1,118 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.databinding:databinding-common:4.1.3=classpath
+androidx.databinding:databinding-compiler-common:4.1.3=classpath
+com.android.databinding:baseLibrary:4.1.3=classpath
+com.android.tools.analytics-library:crash:27.1.3=classpath
+com.android.tools.analytics-library:protos:27.1.3=classpath
+com.android.tools.analytics-library:shared:27.1.3=classpath
+com.android.tools.analytics-library:tracker:27.1.3=classpath
+com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
+com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
+com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
+com.android.tools.build:aaptcompiler:4.1.3=classpath
+com.android.tools.build:apksig:4.1.3=classpath
+com.android.tools.build:apkzlib:4.1.3=classpath
+com.android.tools.build:builder-model:4.1.3=classpath
+com.android.tools.build:builder-test-api:4.1.3=classpath
+com.android.tools.build:builder:4.1.3=classpath
+com.android.tools.build:bundletool:0.14.0=classpath
+com.android.tools.build:gradle-api:4.1.3=classpath
+com.android.tools.build:gradle:4.1.3=classpath
+com.android.tools.build:manifest-merger:27.1.3=classpath
+com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
+com.android.tools.ddms:ddmlib:27.1.3=classpath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
+com.android.tools.lint:lint-gradle-api:27.1.3=classpath
+com.android.tools.lint:lint-model:27.1.3=classpath
+com.android.tools:annotations:27.1.3=classpath
+com.android.tools:common:27.1.3=classpath
+com.android.tools:dvlib:27.1.3=classpath
+com.android.tools:repository:27.1.3=classpath
+com.android.tools:sdk-common:27.1.3=classpath
+com.android.tools:sdklib:27.1.3=classpath
+com.android:signflinger:4.1.3=classpath
+com.android:zipflinger:4.1.3=classpath
+com.github.gundy:semver4j:0.16.4=classpath
+com.google.auto.value:auto-value-annotations:1.6.2=classpath
+com.google.code.findbugs:jsr305:3.0.2=classpath
+com.google.code.gson:gson:2.8.6=classpath
+com.google.crypto.tink:tink:1.3.0-rc2=classpath
+com.google.errorprone:error_prone_annotations:2.3.2=classpath
+com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
+com.google.guava:failureaccess:1.0.1=classpath
+com.google.guava:guava:28.1-jre=classpath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
+com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.jimfs:jimfs:1.1=classpath
+com.google.protobuf:protobuf-java-util:3.10.0=classpath
+com.google.protobuf:protobuf-java:3.10.0=classpath
+com.google.test.platform:core-proto:0.0.2-dev=classpath
+com.googlecode.json-simple:json-simple:1.1=classpath
+com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
+com.squareup:javapoet:1.10.0=classpath
+com.squareup:javawriter:2.5.0=classpath
+com.sun.activation:javax.activation:1.2.0=classpath
+com.sun.istack:istack-commons-runtime:3.0.7=classpath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
+commons-codec:commons-codec:1.10=classpath
+commons-io:commons-io:2.4=classpath
+commons-logging:commons-logging:1.2=classpath
+de.undercouch:gradle-download-task:4.0.2=classpath
+it.unimi.dsi:fastutil:7.2.0=classpath
+javax.activation:javax.activation-api:1.2.0=classpath
+javax.inject:javax.inject:1=classpath
+javax.xml.bind:jaxb-api:2.3.1=classpath
+net.sf.jopt-simple:jopt-simple:4.9=classpath
+net.sf.kxml:kxml2:2.3.0=classpath
+net.sf.proguard:proguard-base:6.0.3=classpath
+net.sf.proguard:proguard-gradle:6.0.3=classpath
+org.antlr:antlr4-runtime:4.5.2-1=classpath
+org.antlr:antlr4:4.5.3=classpath
+org.apache.commons:commons-compress:1.12=classpath
+org.apache.httpcomponents:httpclient:4.5.6=classpath
+org.apache.httpcomponents:httpcore:4.4.10=classpath
+org.apache.httpcomponents:httpmime:4.5.6=classpath
+org.bouncycastle:bcpkix-jdk15on:1.56=classpath
+org.bouncycastle:bcprov-jdk15on:1.56=classpath
+org.checkerframework:checker-qual:2.8.1=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=classpath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
+org.glassfish.jaxb:txw2:2.3.1=classpath
+org.jdom:jdom2:2.0.6=classpath
+org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-build-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-script-runtime:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.4.32=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.4.32=classpath
+org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8=classpath
+org.jetbrains.trove4j:trove4j:20160824=classpath
+org.jetbrains:annotations:13.0=classpath
+org.json:json:20180813=classpath
+org.jvnet.staxex:stax-ex:1.8=classpath
+org.ow2.asm:asm-analysis:7.0=classpath
+org.ow2.asm:asm-commons:7.0=classpath
+org.ow2.asm:asm-tree:7.0=classpath
+org.ow2.asm:asm-util:7.0=classpath
+org.ow2.asm:asm:7.0=classpath
+org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
+empty=
diff --git a/packages/integration_test/example/android/project-app.lockfile b/packages/integration_test/example/android/project-app.lockfile
new file mode 100644
index 0000000..70c62a0
--- /dev/null
+++ b/packages/integration_test/example/android/project-app.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugReverseMetadataValues,debugUnitTestAnnotationProcessorClasspath,debugWearBundling,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileReverseMetadataValues,profileUnitTestAnnotationProcessorClasspath,profileWearBundling,releaseAnnotationProcessorClasspath,releaseReverseMetadataValues,releaseUnitTestAnnotationProcessorClasspath,releaseWearBundling,testCompile
diff --git a/packages/integration_test/example/android/project-integration_test.lockfile b/packages/integration_test/example/android/project-integration_test.lockfile
new file mode 100644
index 0000000..3587433
--- /dev/null
+++ b/packages/integration_test/example/android/project-integration_test.lockfile
@@ -0,0 +1,111 @@
+# This is a Gradle generated file for dependency locking.
+# Manual edits can break the build and are not advised.
+# This file is expected to be part of source control.
+androidx.activity:activity:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.annotation:annotation:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-common:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.arch.core:core-runtime:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.core:core:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.fragment:fragment:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common-java8:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata-core:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-livedata:2.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.lifecycle:lifecycle-viewmodel:2.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.savedstate:savedstate:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-core:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test.espresso:espresso-idling-resource:3.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:monitor:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:rules:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.test:runner:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.versionedparcelable:versionedparcelable:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.android.tools.analytics-library:protos:27.1.3=lintClassPath
+com.android.tools.analytics-library:shared:27.1.3=lintClassPath
+com.android.tools.analytics-library:tracker:27.1.3=lintClassPath
+com.android.tools.build:aapt2-proto:4.1.0-alpha01-6193524=lintClassPath
+com.android.tools.build:aapt2:4.1.3-6503028=_internal_aapt2_binary
+com.android.tools.build:apksig:4.1.3=lintClassPath
+com.android.tools.build:apkzlib:4.1.3=lintClassPath
+com.android.tools.build:builder-model:4.1.3=lintClassPath
+com.android.tools.build:builder-test-api:4.1.3=lintClassPath
+com.android.tools.build:builder:4.1.3=lintClassPath
+com.android.tools.build:gradle-api:4.1.3=lintClassPath
+com.android.tools.build:manifest-merger:27.1.3=lintClassPath
+com.android.tools.ddms:ddmlib:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:intellij-core:27.1.3=lintClassPath
+com.android.tools.external.com-intellij:kotlin-compiler:27.1.3=lintClassPath
+com.android.tools.external.org-jetbrains:uast:27.1.3=lintClassPath
+com.android.tools.layoutlib:layoutlib-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-checks:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle-api:27.1.3=lintClassPath
+com.android.tools.lint:lint-gradle:27.1.3=lintClassPath
+com.android.tools.lint:lint-model:27.1.3=lintClassPath
+com.android.tools.lint:lint:27.1.3=lintClassPath
+com.android.tools:annotations:27.1.3=lintClassPath
+com.android.tools:common:27.1.3=lintClassPath
+com.android.tools:dvlib:27.1.3=lintClassPath
+com.android.tools:repository:27.1.3=lintClassPath
+com.android.tools:sdk-common:27.1.3=lintClassPath
+com.android.tools:sdklib:27.1.3=lintClassPath
+com.android:signflinger:4.1.3=lintClassPath
+com.android:zipflinger:4.1.3=lintClassPath
+com.google.code.findbugs:jsr305:3.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.code.gson:gson:2.8.5=lintClassPath
+com.google.errorprone:error_prone_annotations:2.3.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:failureaccess:1.0.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.guava:guava:28.1-jre=lintClassPath
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.j2objc:j2objc-annotations:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.google.jimfs:jimfs:1.1=lintClassPath
+com.google.protobuf:protobuf-java:3.10.0=lintClassPath
+com.googlecode.json-simple:json-simple:1.1=lintClassPath
+com.squareup:javawriter:2.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+com.squareup:javawriter:2.5.0=lintClassPath
+com.sun.activation:javax.activation:1.2.0=lintClassPath
+com.sun.istack:istack-commons-runtime:3.0.7=lintClassPath
+com.sun.xml.fastinfoset:FastInfoset:1.2.15=lintClassPath
+commons-codec:commons-codec:1.10=lintClassPath
+commons-logging:commons-logging:1.2=lintClassPath
+it.unimi.dsi:fastutil:7.2.0=lintClassPath
+javax.activation:javax.activation-api:1.2.0=lintClassPath
+javax.inject:javax.inject:1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+javax.xml.bind:jaxb-api:2.3.1=lintClassPath
+junit:junit:4.12=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+net.sf.jopt-simple:jopt-simple:4.9=lintClassPath
+net.sf.kxml:kxml2:2.3.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.apache.commons:commons-compress:1.12=lintClassPath
+org.apache.httpcomponents:httpclient:4.5.6=lintClassPath
+org.apache.httpcomponents:httpcore:4.4.10=lintClassPath
+org.apache.httpcomponents:httpmime:4.5.6=lintClassPath
+org.bouncycastle:bcpkix-jdk15on:1.56=lintClassPath
+org.bouncycastle:bcprov-jdk15on:1.56=lintClassPath
+org.checkerframework:checker-compat-qual:2.5.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.checkerframework:checker-qual:2.8.1=lintClassPath
+org.codehaus.groovy:groovy-all:2.4.15=lintClassPath
+org.codehaus.mojo:animal-sniffer-annotations:1.18=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,lintClassPath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.glassfish.jaxb:jaxb-runtime:2.3.1=lintClassPath
+org.glassfish.jaxb:txw2:2.3.1=lintClassPath
+org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath
+org.jetbrains.kotlin:kotlin-reflect:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=lintClassPath
+org.jetbrains.kotlin:kotlin-stdlib:1.3.72=lintClassPath
+org.jetbrains.trove4j:trove4j:20160824=lintClassPath
+org.jetbrains:annotations:13.0=lintClassPath
+org.jvnet.staxex:stax-ex:1.8=lintClassPath
+org.ow2.asm:asm-analysis:7.0=lintClassPath
+org.ow2.asm:asm-commons:7.0=lintClassPath
+org.ow2.asm:asm-tree:7.0=lintClassPath
+org.ow2.asm:asm-util:7.0=lintClassPath
+org.ow2.asm:asm:7.0=lintClassPath
+empty=androidApis,androidTestUtil,compile,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath,testCompile
diff --git a/packages/integration_test/example/android/settings.gradle b/packages/integration_test/example/android/settings.gradle
index bef552e..03ae72d 100644
--- a/packages/integration_test/example/android/settings.gradle
+++ b/packages/integration_test/example/android/settings.gradle
@@ -2,18 +2,20 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// This file is auto generated.
+// To update all the settings.gradle files in the Flutter repo,
+// See dev/tools/bin/generate_gradle_lockfiles.dart.
+
 include ':app'
 
-def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
+enableFeaturePreview('ONE_LOCKFILE_PER_PROJECT')
 
-def plugins = new Properties()
-def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
-if (pluginsFile.exists()) {
-    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
-}
+def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
+def properties = new Properties()
 
-plugins.each { name, path ->
-    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
-    include ":$name"
-    project(":$name").projectDir = pluginDirectory
-}
+assert localPropertiesFile.exists()
+localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+
+def flutterSdkPath = properties.getProperty("flutter.sdk")
+assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"