diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter
index 45424e0..bc681ff 100755
--- a/ci/licenses_golden/licenses_flutter
+++ b/ci/licenses_golden/licenses_flutter
@@ -716,6 +716,7 @@
 FILE: ../../../flutter/shell/platform/android/io/flutter/app/FlutterActivityEvents.java
 FILE: ../../../flutter/shell/platform/android/io/flutter/app/FlutterApplication.java
 FILE: ../../../flutter/shell/platform/android/io/flutter/app/FlutterFragmentActivity.java
+FILE: ../../../flutter/shell/platform/android/io/flutter/app/FlutterPlayStoreSplitApplication.java
 FILE: ../../../flutter/shell/platform/android/io/flutter/app/FlutterPluginRegistry.java
 FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/AndroidKeyProcessor.java
 FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java
diff --git a/shell/platform/android/BUILD.gn b/shell/platform/android/BUILD.gn
index 29f204f..df2f4a5 100644
--- a/shell/platform/android/BUILD.gn
+++ b/shell/platform/android/BUILD.gn
@@ -125,6 +125,7 @@
   "io/flutter/app/FlutterActivityEvents.java",
   "io/flutter/app/FlutterApplication.java",
   "io/flutter/app/FlutterFragmentActivity.java",
+  "io/flutter/app/FlutterPlayStoreSplitApplication.java",
   "io/flutter/app/FlutterPluginRegistry.java",
   "io/flutter/embedding/android/AndroidKeyProcessor.java",
   "io/flutter/embedding/android/AndroidTouchProcessor.java",
diff --git a/shell/platform/android/io/flutter/app/FlutterPlayStoreSplitApplication.java b/shell/platform/android/io/flutter/app/FlutterPlayStoreSplitApplication.java
new file mode 100644
index 0000000..91502c8
--- /dev/null
+++ b/shell/platform/android/io/flutter/app/FlutterPlayStoreSplitApplication.java
@@ -0,0 +1,51 @@
+// Copyright 2013 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.
+
+package io.flutter.app;
+
+import androidx.annotation.CallSuper;
+import com.google.android.play.core.splitcompat.SplitCompatApplication;
+import io.flutter.FlutterInjector;
+import io.flutter.embedding.engine.dynamicfeatures.PlayStoreDynamicFeatureManager;
+
+/**
+ * Flutter's extension of {@link SplitCompatApplication} that injects a {@link
+ * PlayStoreDynamicFeatureManager} with {@link FlutterInjector} to enable Split AOT Flutter apps.
+ *
+ * <p>To use this class, either have your custom application class extend
+ * FlutterPlayStoreSplitApplication or use it directly in the app's AndroidManifest.xml by adding
+ * the following line:
+ *
+ * <pre>{@code
+ * <manifest
+ *    ...
+ *    <application
+ *       android:name="io.flutter.app.FlutterPlayStoreSplitApplication"
+ *       ...>
+ *    </application>
+ *  </manifest>
+ * }</pre>
+ *
+ * This class is meant to be used with the Google Play store. Custom non-play store applications do
+ * not need to extend SplitCompatApplication and should inject a custom {@link
+ * io.flutter.embedding.engine.dynamicfeatures.DynamicFeatureManager} implementation like so:
+ *
+ * <pre>{@code
+ * FlutterInjector.setInstance(
+ *      new FlutterInjector.Builder().setDynamicFeatureManager(yourCustomManager).build());
+ * }</pre>
+ */
+public class FlutterPlayStoreSplitApplication extends SplitCompatApplication {
+  @Override
+  @CallSuper
+  public void onCreate() {
+    super.onCreate();
+    // Create and inject a PlayStoreDynamicFeatureManager, which is the default manager for
+    // interacting with the Google Play Store.
+    PlayStoreDynamicFeatureManager dynamicFeatureManager =
+        new PlayStoreDynamicFeatureManager(this, null);
+    FlutterInjector.setInstance(
+        new FlutterInjector.Builder().setDynamicFeatureManager(dynamicFeatureManager).build());
+  }
+}
