diff --git a/packages/animations/example/android/app/build.gradle b/packages/animations/example/android/app/build.gradle
index c6bffc9..b4f6ed1 100644
--- a/packages/animations/example/android/app/build.gradle
+++ b/packages/animations/example/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'dev.flutter.packages.animations.example'
     compileSdkVersion flutter.compileSdkVersion
 
     sourceSets {
diff --git a/packages/camera/camera/example/android/app/build.gradle b/packages/camera/camera/example/android/app/build.gradle
index bc7f995..bd55a35 100644
--- a/packages/camera/camera/example/android/app/build.gradle
+++ b/packages/camera/camera/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.cameraexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/camera/camera_android/CHANGELOG.md b/packages/camera/camera_android/CHANGELOG.md
index 89514a1..661cafd 100644
--- a/packages/camera/camera_android/CHANGELOG.md
+++ b/packages/camera/camera_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.10.6+1
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 0.10.6
 
 * Fixes Java warnings.
diff --git a/packages/camera/camera_android/android/build.gradle b/packages/camera/camera_android/android/build.gradle
index d93d06a..6b43770 100644
--- a/packages/camera/camera_android/android/build.gradle
+++ b/packages/camera/camera_android/android/build.gradle
@@ -27,6 +27,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.camera'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/camera/camera_android/example/android/app/build.gradle b/packages/camera/camera_android/example/android/app/build.gradle
index bc7f995..bd55a35 100644
--- a/packages/camera/camera_android/example/android/app/build.gradle
+++ b/packages/camera/camera_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.cameraexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/camera/camera_android/pubspec.yaml b/packages/camera/camera_android/pubspec.yaml
index 4e05a55..2b7c0c2 100644
--- a/packages/camera/camera_android/pubspec.yaml
+++ b/packages/camera/camera_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the camera plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
-version: 0.10.6
+version: 0.10.6+1
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/camera/camera_android_camerax/android/build.gradle b/packages/camera/camera_android_camerax/android/build.gradle
index 492d137..1ae38c2 100644
--- a/packages/camera/camera_android_camerax/android/build.gradle
+++ b/packages/camera/camera_android_camerax/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.camerax'
     // CameraX dependencies require compilation against version 33 or later.
     compileSdkVersion 33
 
diff --git a/packages/camera/camera_android_camerax/example/android/app/build.gradle b/packages/camera/camera_android_camerax/example/android/app/build.gradle
index e2001f9..44b1102 100644
--- a/packages/camera/camera_android_camerax/example/android/app/build.gradle
+++ b/packages/camera/camera_android_camerax/example/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.cameraxexample'
     compileSdkVersion flutter.compileSdkVersion
     ndkVersion flutter.ndkVersion
 
diff --git a/packages/dynamic_layouts/example/android/app/build.gradle b/packages/dynamic_layouts/example/android/app/build.gradle
index 823df22..a898241 100644
--- a/packages/dynamic_layouts/example/android/app/build.gradle
+++ b/packages/dynamic_layouts/example/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'dev.flutter.packages.animations.example'
     compileSdkVersion flutter.compileSdkVersion
     ndkVersion flutter.ndkVersion
 
diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md
index 2a318f2..660fcc7 100644
--- a/packages/espresso/CHANGELOG.md
+++ b/packages/espresso/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.3.0+2
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 0.3.0+1
 
 * Sets an explicit Java compatibility version.
diff --git a/packages/espresso/android/build.gradle b/packages/espresso/android/build.gradle
index c169b19..0b8960b 100644
--- a/packages/espresso/android/build.gradle
+++ b/packages/espresso/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'com.example.espresso'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/espresso/pubspec.yaml b/packages/espresso/pubspec.yaml
index baf0b7d..a67455d 100644
--- a/packages/espresso/pubspec.yaml
+++ b/packages/espresso/pubspec.yaml
@@ -3,7 +3,7 @@
   Allows driving Flutter widgets from a native Espresso test.
 repository: https://github.com/flutter/packages/tree/main/packages/espresso
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+espresso%22
-version: 0.3.0+1
+version: 0.3.0+2
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/flutter_plugin_android_lifecycle/CHANGELOG.md b/packages/flutter_plugin_android_lifecycle/CHANGELOG.md
index 6e1dad0..9e97351 100644
--- a/packages/flutter_plugin_android_lifecycle/CHANGELOG.md
+++ b/packages/flutter_plugin_android_lifecycle/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.0.11
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 2.0.10
 
 * Sets an explicit Java compatibility version.
diff --git a/packages/flutter_plugin_android_lifecycle/android/build.gradle b/packages/flutter_plugin_android_lifecycle/android/build.gradle
index 72c4a12..c12cc35 100644
--- a/packages/flutter_plugin_android_lifecycle/android/build.gradle
+++ b/packages/flutter_plugin_android_lifecycle/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.flutter_plugin_android_lifecycle'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/flutter_plugin_android_lifecycle/pubspec.yaml b/packages/flutter_plugin_android_lifecycle/pubspec.yaml
index d8c92d0..ae7686f 100644
--- a/packages/flutter_plugin_android_lifecycle/pubspec.yaml
+++ b/packages/flutter_plugin_android_lifecycle/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Flutter plugin for accessing an Android Lifecycle within other plugins.
 repository: https://github.com/flutter/packages/tree/main/packages/flutter_plugin_android_lifecycle
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+flutter_plugin_android_lifecycle%22
-version: 2.0.10
+version: 2.0.11
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md
index c16464f..5284648 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.4.11
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 2.4.10
 
 * Bump RoboElectric dependency to 4.4.1 to support AndroidX.
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/build.gradle b/packages/google_maps_flutter/google_maps_flutter_android/android/build.gradle
index 61b79a9..5f8c17e 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/android/build.gradle
+++ b/packages/google_maps_flutter/google_maps_flutter_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.googlemaps'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/build.gradle b/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/build.gradle
index b6e7a51..831b3b2 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/build.gradle
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.googlemapsexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml
index 6ae316d..4b9315b 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the google_maps_flutter plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22
-version: 2.4.10
+version: 2.4.11
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/google_sign_in/google_sign_in/example/android/app/build.gradle b/packages/google_sign_in/google_sign_in/example/android/app/build.gradle
index cf21021..3c40ac3 100644
--- a/packages/google_sign_in/google_sign_in/example/android/app/build.gradle
+++ b/packages/google_sign_in/google_sign_in/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.googlesigninexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
index 4f4f6dd..fcbe694 100644
--- a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 6.1.12
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 6.1.11
 
 * Fixes Java warnings.
diff --git a/packages/google_sign_in/google_sign_in_android/android/build.gradle b/packages/google_sign_in/google_sign_in_android/android/build.gradle
index ae2abf5..88ae5fc 100644
--- a/packages/google_sign_in/google_sign_in_android/android/build.gradle
+++ b/packages/google_sign_in/google_sign_in_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.googlesignin'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/google_sign_in/google_sign_in_android/example/android/app/build.gradle b/packages/google_sign_in/google_sign_in_android/example/android/app/build.gradle
index cf21021..3c40ac3 100644
--- a/packages/google_sign_in/google_sign_in_android/example/android/app/build.gradle
+++ b/packages/google_sign_in/google_sign_in_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.googlesigninexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/google_sign_in/google_sign_in_android/pubspec.yaml b/packages/google_sign_in/google_sign_in_android/pubspec.yaml
index 921e7f1..2998b53 100644
--- a/packages/google_sign_in/google_sign_in_android/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the google_sign_in plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22
-version: 6.1.11
+version: 6.1.12
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/image_picker/image_picker/example/android/app/build.gradle b/packages/image_picker/image_picker/example/android/app/build.gradle
index 22f3f11..114f48f 100755
--- a/packages/image_picker/image_picker/example/android/app/build.gradle
+++ b/packages/image_picker/image_picker/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.imagepickerexample'
     compileSdkVersion flutter.compileSdkVersion
     testOptions.unitTests.includeAndroidResources = true
 
diff --git a/packages/image_picker/image_picker_android/CHANGELOG.md b/packages/image_picker/image_picker_android/CHANGELOG.md
index 6324d84..5128172 100644
--- a/packages/image_picker/image_picker_android/CHANGELOG.md
+++ b/packages/image_picker/image_picker_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.8.6+8
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 0.8.6+7
 
 * Fixes handling of non-bitmap image types.
diff --git a/packages/image_picker/image_picker_android/android/build.gradle b/packages/image_picker/image_picker_android/android/build.gradle
index c4fb379..777a4e4 100644
--- a/packages/image_picker/image_picker_android/android/build.gradle
+++ b/packages/image_picker/image_picker_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.imagepicker'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/image_picker/image_picker_android/example/android/app/build.gradle b/packages/image_picker/image_picker_android/example/android/app/build.gradle
index d76036b..070f632 100755
--- a/packages/image_picker/image_picker_android/example/android/app/build.gradle
+++ b/packages/image_picker/image_picker_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.imagepickerexample'
     compileSdkVersion flutter.compileSdkVersion
     testOptions.unitTests.includeAndroidResources = true
 
diff --git a/packages/image_picker/image_picker_android/pubspec.yaml b/packages/image_picker/image_picker_android/pubspec.yaml
index b1dad50..349cacc 100755
--- a/packages/image_picker/image_picker_android/pubspec.yaml
+++ b/packages/image_picker/image_picker_android/pubspec.yaml
@@ -3,7 +3,7 @@
 repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22
 
-version: 0.8.6+7
+version: 0.8.6+8
 
 environment:
   sdk: ">=2.18.0 <4.0.0"
diff --git a/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle b/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle
index 274443d..774bccc 100644
--- a/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle
+++ b/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle
@@ -54,6 +54,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.inapppurchaseexample'
     signingConfigs {
         release {
             storeFile project.KEYSTORE_STORE_FILE
diff --git a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
index b4cce00..37a18ea 100644
--- a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.2.5+1
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 0.2.5
 
 * Fixes the management of `BillingClient` connection by handling `BillingResponse.serviceDisconnected`.
diff --git a/packages/in_app_purchase/in_app_purchase_android/android/build.gradle b/packages/in_app_purchase/in_app_purchase_android/android/build.gradle
index 4385ad8..615ff69 100644
--- a/packages/in_app_purchase/in_app_purchase_android/android/build.gradle
+++ b/packages/in_app_purchase/in_app_purchase_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.inapppurchase'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/in_app_purchase/in_app_purchase_android/example/android/app/build.gradle b/packages/in_app_purchase/in_app_purchase_android/example/android/app/build.gradle
index 3eab369..30cfea4 100644
--- a/packages/in_app_purchase/in_app_purchase_android/example/android/app/build.gradle
+++ b/packages/in_app_purchase/in_app_purchase_android/example/android/app/build.gradle
@@ -54,6 +54,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.inapppurchaseexample'
     compileSdkVersion flutter.compileSdkVersion
 
     signingConfigs {
diff --git a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
index 0d9dc31..8e7d685 100644
--- a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: An implementation for the Android platform of the Flutter `in_app_purchase` plugin. This uses the Android BillingClient APIs.
 repository: https://github.com/flutter/packages/tree/main/packages/in_app_purchase/in_app_purchase_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
-version: 0.2.5
+version: 0.2.5+1
 
 environment:
   sdk: ">=2.18.0 <4.0.0"
diff --git a/packages/local_auth/local_auth/example/android/app/build.gradle b/packages/local_auth/local_auth/example/android/app/build.gradle
index 751b118..29813d8 100644
--- a/packages/local_auth/local_auth/example/android/app/build.gradle
+++ b/packages/local_auth/local_auth/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.localauthexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/local_auth/local_auth_android/CHANGELOG.md b/packages/local_auth/local_auth_android/CHANGELOG.md
index aef9fe3..2cf84b9 100644
--- a/packages/local_auth/local_auth_android/CHANGELOG.md
+++ b/packages/local_auth/local_auth_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.0.25
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 1.0.24
 
 * Fixes `getEnrolledBiometrics` return value handling.
diff --git a/packages/local_auth/local_auth_android/android/build.gradle b/packages/local_auth/local_auth_android/android/build.gradle
index 53ef4f4..bcb7183 100644
--- a/packages/local_auth/local_auth_android/android/build.gradle
+++ b/packages/local_auth/local_auth_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.localauth'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/local_auth/local_auth_android/example/android/app/build.gradle b/packages/local_auth/local_auth_android/example/android/app/build.gradle
index 751b118..29813d8 100644
--- a/packages/local_auth/local_auth_android/example/android/app/build.gradle
+++ b/packages/local_auth/local_auth_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.localauthexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/local_auth/local_auth_android/pubspec.yaml b/packages/local_auth/local_auth_android/pubspec.yaml
index 0d1dd43..e5f4196 100644
--- a/packages/local_auth/local_auth_android/pubspec.yaml
+++ b/packages/local_auth/local_auth_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the local_auth plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/local_auth/local_auth_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+local_auth%22
-version: 1.0.24
+version: 1.0.25
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/path_provider/path_provider/example/android/app/build.gradle b/packages/path_provider/path_provider/example/android/app/build.gradle
index fea0153..f0e3819 100644
--- a/packages/path_provider/path_provider/example/android/app/build.gradle
+++ b/packages/path_provider/path_provider/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.pathproviderexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/path_provider/path_provider_android/CHANGELOG.md b/packages/path_provider/path_provider_android/CHANGELOG.md
index 379fd5c..660b3fa 100644
--- a/packages/path_provider/path_provider_android/CHANGELOG.md
+++ b/packages/path_provider/path_provider_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.0.26
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 2.0.25
 
 * Fixes Java warnings.
diff --git a/packages/path_provider/path_provider_android/android/build.gradle b/packages/path_provider/path_provider_android/android/build.gradle
index 1fbfa8b..09b407a 100644
--- a/packages/path_provider/path_provider_android/android/build.gradle
+++ b/packages/path_provider/path_provider_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.pathprovider'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/path_provider/path_provider_android/example/android/app/build.gradle b/packages/path_provider/path_provider_android/example/android/app/build.gradle
index fea0153..f0e3819 100644
--- a/packages/path_provider/path_provider_android/example/android/app/build.gradle
+++ b/packages/path_provider/path_provider_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.pathproviderexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/path_provider/path_provider_android/pubspec.yaml b/packages/path_provider/path_provider_android/pubspec.yaml
index 781b808..95300b1 100644
--- a/packages/path_provider/path_provider_android/pubspec.yaml
+++ b/packages/path_provider/path_provider_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the path_provider plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22
-version: 2.0.25
+version: 2.0.26
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/build.gradle b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/build.gradle
index 91feeb1..fd7668d 100644
--- a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/build.gradle
+++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'com.example.alternate_language_test_plugin'
     compileSdkVersion 33
 
     compileOptions {
diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/android/app/build.gradle b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/android/app/build.gradle
index 4ce69f6..9f01f9b 100644
--- a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/android/app/build.gradle
+++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'com.example.alternate_language_test_plugin_example'
     compileSdkVersion flutter.compileSdkVersion
     ndkVersion flutter.ndkVersion
 
diff --git a/packages/pigeon/platform_tests/test_plugin/android/build.gradle b/packages/pigeon/platform_tests/test_plugin/android/build.gradle
index 2703f62..cb1f555 100644
--- a/packages/pigeon/platform_tests/test_plugin/android/build.gradle
+++ b/packages/pigeon/platform_tests/test_plugin/android/build.gradle
@@ -25,6 +25,7 @@
 apply plugin: 'kotlin-android'
 
 android {
+    namespace 'com.example.test_plugin'
     compileSdkVersion 33
 
     compileOptions {
diff --git a/packages/pigeon/platform_tests/test_plugin/example/android/app/build.gradle b/packages/pigeon/platform_tests/test_plugin/example/android/app/build.gradle
index 0100814..ff91598 100644
--- a/packages/pigeon/platform_tests/test_plugin/example/android/app/build.gradle
+++ b/packages/pigeon/platform_tests/test_plugin/example/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'com.example.test_plugin_example'
     compileSdkVersion flutter.compileSdkVersion
     ndkVersion flutter.ndkVersion
 
diff --git a/packages/quick_actions/quick_actions/example/android/app/build.gradle b/packages/quick_actions/quick_actions/example/android/app/build.gradle
index cf9dae4..335a77a 100644
--- a/packages/quick_actions/quick_actions/example/android/app/build.gradle
+++ b/packages/quick_actions/quick_actions/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.quickactionsexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/quick_actions/quick_actions_android/CHANGELOG.md b/packages/quick_actions/quick_actions_android/CHANGELOG.md
index bea687f..3187f6a 100644
--- a/packages/quick_actions/quick_actions_android/CHANGELOG.md
+++ b/packages/quick_actions/quick_actions_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.0.3
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 1.0.2
 
 * Clarifies explanation of endorsement in README.
diff --git a/packages/quick_actions/quick_actions_android/android/build.gradle b/packages/quick_actions/quick_actions_android/android/build.gradle
index a668fb0..935c517 100644
--- a/packages/quick_actions/quick_actions_android/android/build.gradle
+++ b/packages/quick_actions/quick_actions_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.quickactions'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/quick_actions/quick_actions_android/example/android/app/build.gradle b/packages/quick_actions/quick_actions_android/example/android/app/build.gradle
index 0c9500c..6fc3dbe 100644
--- a/packages/quick_actions/quick_actions_android/example/android/app/build.gradle
+++ b/packages/quick_actions/quick_actions_android/example/android/app/build.gradle
@@ -27,6 +27,7 @@
 def androidXTestVersion = '1.2.0'
 
 android {
+    namespace 'io.flutter.plugins.quickactionsexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/quick_actions/quick_actions_android/pubspec.yaml b/packages/quick_actions/quick_actions_android/pubspec.yaml
index f59f99c..ca16d8b 100644
--- a/packages/quick_actions/quick_actions_android/pubspec.yaml
+++ b/packages/quick_actions/quick_actions_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: An implementation for the Android platform of the Flutter `quick_actions` plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/quick_actions/quick_actions_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
-version: 1.0.2
+version: 1.0.3
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/rfw/example/hello/android/app/build.gradle b/packages/rfw/example/hello/android/app/build.gradle
index 8514513..7c6ac08 100644
--- a/packages/rfw/example/hello/android/app/build.gradle
+++ b/packages/rfw/example/hello/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'dev.flutter.rfw.examples.hello'
     compileSdkVersion flutter.compileSdkVersion
 
     compileOptions {
diff --git a/packages/rfw/example/hello/android/build.gradle b/packages/rfw/example/hello/android/build.gradle
index 27ef0fc..ff27ef8 100644
--- a/packages/rfw/example/hello/android/build.gradle
+++ b/packages/rfw/example/hello/android/build.gradle
@@ -6,7 +6,7 @@
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:7.4.2'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
 }
@@ -24,6 +24,6 @@
     project.evaluationDependsOn(':app')
 }
 
-task clean(type: Delete) {
+tasks.register("clean", Delete) {
     delete rootProject.buildDir
 }
diff --git a/packages/rfw/example/hello/android/gradle/wrapper/gradle-wrapper.properties b/packages/rfw/example/hello/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..6b66533 100644
--- a/packages/rfw/example/hello/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/rfw/example/hello/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
diff --git a/packages/rfw/example/local/android/app/build.gradle b/packages/rfw/example/local/android/app/build.gradle
index 0948e02..ff877b9 100644
--- a/packages/rfw/example/local/android/app/build.gradle
+++ b/packages/rfw/example/local/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'dev.flutter.rfw.examples.local'
     compileSdkVersion flutter.compileSdkVersion
 
     compileOptions {
diff --git a/packages/rfw/example/local/android/build.gradle b/packages/rfw/example/local/android/build.gradle
index 27ef0fc..ff27ef8 100644
--- a/packages/rfw/example/local/android/build.gradle
+++ b/packages/rfw/example/local/android/build.gradle
@@ -6,7 +6,7 @@
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:7.4.2'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
 }
@@ -24,6 +24,6 @@
     project.evaluationDependsOn(':app')
 }
 
-task clean(type: Delete) {
+tasks.register("clean", Delete) {
     delete rootProject.buildDir
 }
diff --git a/packages/rfw/example/local/android/gradle/wrapper/gradle-wrapper.properties b/packages/rfw/example/local/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..6b66533 100644
--- a/packages/rfw/example/local/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/rfw/example/local/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
diff --git a/packages/rfw/example/remote/android/app/build.gradle b/packages/rfw/example/remote/android/app/build.gradle
index 06c0f4b..05c97c0 100644
--- a/packages/rfw/example/remote/android/app/build.gradle
+++ b/packages/rfw/example/remote/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'dev.flutter.rfw.examples.remote'
     compileSdkVersion flutter.compileSdkVersion
 
     compileOptions {
diff --git a/packages/rfw/example/remote/android/build.gradle b/packages/rfw/example/remote/android/build.gradle
index 27ef0fc..ff27ef8 100644
--- a/packages/rfw/example/remote/android/build.gradle
+++ b/packages/rfw/example/remote/android/build.gradle
@@ -6,7 +6,7 @@
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:7.4.2'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
 }
@@ -24,6 +24,6 @@
     project.evaluationDependsOn(':app')
 }
 
-task clean(type: Delete) {
+tasks.register("clean", Delete) {
     delete rootProject.buildDir
 }
diff --git a/packages/rfw/example/remote/android/gradle/wrapper/gradle-wrapper.properties b/packages/rfw/example/remote/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..6b66533 100644
--- a/packages/rfw/example/remote/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/rfw/example/remote/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
diff --git a/packages/shared_preferences/shared_preferences/example/android/app/build.gradle b/packages/shared_preferences/shared_preferences/example/android/app/build.gradle
index f89ec33..290981f 100644
--- a/packages/shared_preferences/shared_preferences/example/android/app/build.gradle
+++ b/packages/shared_preferences/shared_preferences/example/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.sharedpreferencesexample'
     compileSdkVersion flutter.compileSdkVersion
 
     sourceSets {
diff --git a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md
index def89d1..a14bc1d 100644
--- a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.3
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 2.1.2
 
 * Sets the required Java compile version to 1.8 for new features used in 2.1.1.
diff --git a/packages/shared_preferences/shared_preferences_android/android/build.gradle b/packages/shared_preferences/shared_preferences_android/android/build.gradle
index e2e6858..4469e49 100644
--- a/packages/shared_preferences/shared_preferences_android/android/build.gradle
+++ b/packages/shared_preferences/shared_preferences_android/android/build.gradle
@@ -30,6 +30,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.sharedpreferences'
     compileSdkVersion 33
 
     compileOptions {
diff --git a/packages/shared_preferences/shared_preferences_android/example/android/app/build.gradle b/packages/shared_preferences/shared_preferences_android/example/android/app/build.gradle
index f89ec33..290981f 100644
--- a/packages/shared_preferences/shared_preferences_android/example/android/app/build.gradle
+++ b/packages/shared_preferences/shared_preferences_android/example/android/app/build.gradle
@@ -26,6 +26,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.sharedpreferencesexample'
     compileSdkVersion flutter.compileSdkVersion
 
     sourceSets {
diff --git a/packages/shared_preferences/shared_preferences_android/pubspec.yaml b/packages/shared_preferences/shared_preferences_android/pubspec.yaml
index a6608a6..e9381f4 100644
--- a/packages/shared_preferences/shared_preferences_android/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the shared_preferences plugin
 repository: https://github.com/flutter/packages/tree/main/packages/shared_preferences/shared_preferences_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22
-version: 2.1.2
+version: 2.1.3
 
 environment:
   sdk: ">=2.17.0 <4.0.0"
diff --git a/packages/url_launcher/url_launcher/example/android/app/build.gradle b/packages/url_launcher/url_launcher/example/android/app/build.gradle
index afc6888..3f1897c 100644
--- a/packages/url_launcher/url_launcher/example/android/app/build.gradle
+++ b/packages/url_launcher/url_launcher/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.urllauncherexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/url_launcher/url_launcher_android/CHANGELOG.md b/packages/url_launcher/url_launcher_android/CHANGELOG.md
index 3e46aa9..e75e9d0 100644
--- a/packages/url_launcher/url_launcher_android/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 6.0.29
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 6.0.28
 
 * Sets an explicit Java compatibility version.
diff --git a/packages/url_launcher/url_launcher_android/android/build.gradle b/packages/url_launcher/url_launcher_android/android/build.gradle
index 8b4abcc..d371a80 100644
--- a/packages/url_launcher/url_launcher_android/android/build.gradle
+++ b/packages/url_launcher/url_launcher_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.urllauncher'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/url_launcher/url_launcher_android/example/android/app/build.gradle b/packages/url_launcher/url_launcher_android/example/android/app/build.gradle
index afc6888..3f1897c 100644
--- a/packages/url_launcher/url_launcher_android/example/android/app/build.gradle
+++ b/packages/url_launcher/url_launcher_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.urllauncherexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/url_launcher/url_launcher_android/pubspec.yaml b/packages/url_launcher/url_launcher_android/pubspec.yaml
index 505fdfa..5a9de34 100644
--- a/packages/url_launcher/url_launcher_android/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the url_launcher plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22
-version: 6.0.28
+version: 6.0.29
 
 environment:
   sdk: ">=2.18.0 <4.0.0"
diff --git a/packages/video_player/video_player/example/android/app/build.gradle b/packages/video_player/video_player/example/android/app/build.gradle
index 8936f2b..0cc4b67 100644
--- a/packages/video_player/video_player/example/android/app/build.gradle
+++ b/packages/video_player/video_player/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.videoplayerexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/video_player/video_player_android/CHANGELOG.md b/packages/video_player/video_player_android/CHANGELOG.md
index 7dbfe5d..3a60162 100644
--- a/packages/video_player/video_player_android/CHANGELOG.md
+++ b/packages/video_player/video_player_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.4.5
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 2.4.4
 
 * Synchronizes `VideoPlayerValue.isPlaying` with `ExoPlayer`.
diff --git a/packages/video_player/video_player_android/android/build.gradle b/packages/video_player/video_player_android/android/build.gradle
index 9145f6c..0facb26 100644
--- a/packages/video_player/video_player_android/android/build.gradle
+++ b/packages/video_player/video_player_android/android/build.gradle
@@ -27,6 +27,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.videoplayer'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/video_player/video_player_android/example/android/app/build.gradle b/packages/video_player/video_player_android/example/android/app/build.gradle
index 0eba9c8..30fb2c0 100644
--- a/packages/video_player/video_player_android/example/android/app/build.gradle
+++ b/packages/video_player/video_player_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.videoplayerexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/video_player/video_player_android/pubspec.yaml b/packages/video_player/video_player_android/pubspec.yaml
index a77b646..7940829 100644
--- a/packages/video_player/video_player_android/pubspec.yaml
+++ b/packages/video_player/video_player_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Android implementation of the video_player plugin.
 repository: https://github.com/flutter/packages/tree/main/packages/video_player/video_player_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22
-version: 2.4.4
+version: 2.4.5
 
 environment:
   sdk: ">=2.18.0 <4.0.0"
diff --git a/packages/webview_flutter/webview_flutter/example/android/app/build.gradle b/packages/webview_flutter/webview_flutter/example/android/app/build.gradle
index 734a253..c52fd85 100644
--- a/packages/webview_flutter/webview_flutter/example/android/app/build.gradle
+++ b/packages/webview_flutter/webview_flutter/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.webviewflutterexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
index 14b0ec9..137f882 100644
--- a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 3.6.1
+
+* Adds a namespace for compatibility with AGP 8.0.
+
 ## 3.6.0
 
 * Adds support for `PlatformWebViewController.setOnPlatformPermissionRequest`.
diff --git a/packages/webview_flutter/webview_flutter_android/android/build.gradle b/packages/webview_flutter/webview_flutter_android/android/build.gradle
index 08a94f4..13eff1a 100644
--- a/packages/webview_flutter/webview_flutter_android/android/build.gradle
+++ b/packages/webview_flutter/webview_flutter_android/android/build.gradle
@@ -22,6 +22,7 @@
 apply plugin: 'com.android.library'
 
 android {
+    namespace 'io.flutter.plugins.webviewflutter'
     compileSdkVersion 33
 
     defaultConfig {
diff --git a/packages/webview_flutter/webview_flutter_android/example/android/app/build.gradle b/packages/webview_flutter/webview_flutter_android/example/android/app/build.gradle
index fdda696..82af0bd 100644
--- a/packages/webview_flutter/webview_flutter_android/example/android/app/build.gradle
+++ b/packages/webview_flutter/webview_flutter_android/example/android/app/build.gradle
@@ -25,6 +25,7 @@
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
+    namespace 'io.flutter.plugins.webviewflutterexample'
     compileSdkVersion flutter.compileSdkVersion
 
     lintOptions {
diff --git a/packages/webview_flutter/webview_flutter_android/pubspec.yaml b/packages/webview_flutter/webview_flutter_android/pubspec.yaml
index 9accd85..94105ff 100644
--- a/packages/webview_flutter/webview_flutter_android/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: A Flutter plugin that provides a WebView widget on Android.
 repository: https://github.com/flutter/packages/tree/main/packages/webview_flutter/webview_flutter_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22
-version: 3.6.0
+version: 3.6.1
 
 environment:
   sdk: ">=2.18.0 <4.0.0"
diff --git a/script/tool/lib/src/gradle_check_command.dart b/script/tool/lib/src/gradle_check_command.dart
index 734180c..75263b2 100644
--- a/script/tool/lib/src/gradle_check_command.dart
+++ b/script/tool/lib/src/gradle_check_command.dart
@@ -36,31 +36,169 @@
     const String exampleDirName = 'example';
     final bool isExample = package.directory.basename == exampleDirName ||
         package.directory.parent.basename == exampleDirName;
-    if (!_validateBuildGradle(package, isExample: isExample)) {
+    if (!_validateBuildGradles(package, isExample: isExample)) {
       return PackageResult.fail();
     }
     return PackageResult.success();
   }
 
-  bool _validateBuildGradle(RepositoryPackage package,
+  bool _validateBuildGradles(RepositoryPackage package,
       {required bool isExample}) {
-    // Currently the only check is not relevant to examples; checks that apply
-    // to both plugins and examples should go above here.
-    if (!isExample) {
-      print('${indentation}Validating android/build.gradle.');
-      final String contents = package
-          .platformDirectory(FlutterPlatform.android)
-          .childFile('build.gradle')
-          .readAsStringSync();
-      final List<String> lines = contents.split('\n');
+    final Directory androidDir =
+        package.platformDirectory(FlutterPlatform.android);
+    final File topLevelGradleFile = _getBuildGradleFile(androidDir);
 
-      if (!lines.any((String line) =>
-              line.contains('languageVersion') &&
-              !line.trim().startsWith('//')) &&
-          !lines.any((String line) =>
-              line.contains('sourceCompatibility') &&
-              !line.trim().startsWith('//'))) {
-        const String errorMessage = '''
+    // This is tracked as a variable rather than a sequence of &&s so that all
+    // failures are reported at once, not just the first one.
+    bool succeeded = true;
+    if (isExample) {
+      if (!_validateExampleTopLevelBuildGradle(package, topLevelGradleFile)) {
+        succeeded = false;
+      }
+
+      final File appGradleFile =
+          _getBuildGradleFile(androidDir.childDirectory('app'));
+      if (!_validateExampleAppBuildGradle(package, appGradleFile)) {
+        succeeded = false;
+      }
+    } else {
+      succeeded = _validatePluginBuildGradle(package, topLevelGradleFile);
+    }
+
+    return succeeded;
+  }
+
+  // Returns the gradle file in the given directory.
+  File _getBuildGradleFile(Directory dir) => dir.childFile('build.gradle');
+
+  // Returns the main/AndroidManifest.xml file for the given package.
+  File _getMainAndroidManifest(RepositoryPackage package,
+      {required bool isExample}) {
+    final Directory androidDir =
+        package.platformDirectory(FlutterPlatform.android);
+    final Directory baseDir =
+        isExample ? androidDir.childDirectory('app') : androidDir;
+    return baseDir
+        .childDirectory('src')
+        .childDirectory('main')
+        .childFile('AndroidManifest.xml');
+  }
+
+  /// Validates the build.gradle file for a plugin
+  /// (some_plugin/android/build.gradle).
+  bool _validatePluginBuildGradle(RepositoryPackage package, File gradleFile) {
+    print('${indentation}Validating '
+        '${getRelativePosixPath(gradleFile, from: package.directory)}.');
+    final String contents = gradleFile.readAsStringSync();
+    final List<String> lines = contents.split('\n');
+
+    // This is tracked as a variable rather than a sequence of &&s so that all
+    // failures are reported at once, not just the first one.
+    bool succeeded = true;
+    if (!_validateNamespace(package, contents, isExample: false)) {
+      succeeded = false;
+    }
+    if (!_validateSourceCompatibilityVersion(lines)) {
+      succeeded = false;
+    }
+    return succeeded;
+  }
+
+  /// Validates the top-level build.gradle for an example app (e.g.,
+  /// some_package/example/android/build.gradle).
+  bool _validateExampleTopLevelBuildGradle(
+      RepositoryPackage package, File gradleFile) {
+    print('${indentation}Validating '
+        '${getRelativePosixPath(gradleFile, from: package.directory)}.');
+    // TODO(stuartmorgan): Move the -Xlint validation from lint_android_command
+    // to here.
+    return true;
+  }
+
+  /// Validates the app-level build.gradle for an example app (e.g.,
+  /// some_package/example/android/app/build.gradle).
+  bool _validateExampleAppBuildGradle(
+      RepositoryPackage package, File gradleFile) {
+    print('${indentation}Validating '
+        '${getRelativePosixPath(gradleFile, from: package.directory)}.');
+    final String contents = gradleFile.readAsStringSync();
+
+    // This is tracked as a variable rather than a sequence of &&s so that all
+    // failures are reported at once, not just the first one.
+    bool succeeded = true;
+    if (!_validateNamespace(package, contents, isExample: true)) {
+      succeeded = false;
+    }
+    return succeeded;
+  }
+
+  /// Validates that [gradleContents] sets a namespace, which is required for
+  /// compatibility with apps that use AGP 8+.
+  bool _validateNamespace(RepositoryPackage package, String gradleContents,
+      {required bool isExample}) {
+    final RegExp namespaceRegex =
+        RegExp('^\\s*namespace\\s+[\'"](.*?)[\'"]', multiLine: true);
+    final RegExpMatch? namespaceMatch =
+        namespaceRegex.firstMatch(gradleContents);
+    if (namespaceMatch == null) {
+      const String errorMessage = '''
+build.gradle must set a "namespace":
+
+    android {
+        namespace 'dev.flutter.foo'
+    }
+
+The value must match the "package" attribute in AndroidManifest.xml, if one is
+present. For more information, see:
+https://developer.android.com/build/publish-library/prep-lib-release#choose-namespace
+''';
+
+      printError(
+          '$indentation${errorMessage.split('\n').join('\n$indentation')}');
+      return false;
+    } else {
+      return _validateNamespaceMatchesManifest(package,
+          isExample: isExample, namespace: namespaceMatch.group(1)!);
+    }
+  }
+
+  /// Validates that the given namespace matches the manifest package of
+  /// [package] (if any; a package does not need to be in the manifest in cases
+  /// where compatibility with AGP <7 is no longer required).
+  ///
+  /// Prints an error and returns false if validation fails.
+  bool _validateNamespaceMatchesManifest(RepositoryPackage package,
+      {required bool isExample, required String namespace}) {
+    final RegExp manifestPackageRegex = RegExp(r'package\s*=\s*"(.*?)"');
+    final String manifestContents =
+        _getMainAndroidManifest(package, isExample: isExample)
+            .readAsStringSync();
+    final RegExpMatch? packageMatch =
+        manifestPackageRegex.firstMatch(manifestContents);
+    if (packageMatch != null && namespace != packageMatch.group(1)) {
+      final String errorMessage = '''
+build.gradle "namespace" must match the "package" attribute in AndroidManifest.xml, if one is present.
+  build.gradle namespace: "$namespace"
+  AndroidMastifest.xml package: "${packageMatch.group(1)}"
+''';
+      printError(
+          '$indentation${errorMessage.split('\n').join('\n$indentation')}');
+      return false;
+    }
+    return true;
+  }
+
+  /// Checks for a source compatibiltiy version, so that it's explicit rather
+  /// than using whatever the client's local toolchaing defaults to (which can
+  /// lead to compile errors that show up for clients, but not in CI).
+  bool _validateSourceCompatibilityVersion(List<String> gradleLines) {
+    if (!gradleLines.any((String line) =>
+            line.contains('languageVersion') &&
+            !line.trim().startsWith('//')) &&
+        !gradleLines.any((String line) =>
+            line.contains('sourceCompatibility') &&
+            !line.trim().startsWith('//'))) {
+      const String errorMessage = '''
 build.gradle must set an explicit Java compatibility version.
 
 This can be done either via "sourceCompatibility":
@@ -81,12 +219,10 @@
 https://docs.gradle.org/current/userguide/java_plugin.html#toolchain_and_compatibility
 for more details.''';
 
-        printError(
-            '$indentation${errorMessage.split('\n').join('\n$indentation')}');
-        return false;
-      }
+      printError(
+          '$indentation${errorMessage.split('\n').join('\n$indentation')}');
+      return false;
     }
-
     return true;
   }
 }
diff --git a/script/tool/test/gradle_check_command_test.dart b/script/tool/test/gradle_check_command_test.dart
index e7a4b2b..a3a482d 100644
--- a/script/tool/test/gradle_check_command_test.dart
+++ b/script/tool/test/gradle_check_command_test.dart
@@ -11,6 +11,8 @@
 
 import 'util.dart';
 
+const String _defaultFakeNamespace = 'dev.flutter.foo';
+
 void main() {
   late CommandRunner<void> runner;
   late FileSystem fileSystem;
@@ -31,28 +33,35 @@
 
   void writeFakeBuildGradle(
     RepositoryPackage package, {
+    bool isApp = false,
     bool includeLanguageVersion = false,
     bool includeSourceCompat = false,
-    bool commentRequiredLine = false,
+    bool commentSourceLanguage = false,
+    bool includeNamespace = true,
+    bool commentNamespace = false,
   }) {
-    final File buildGradle = package
-        .platformDirectory(FlutterPlatform.android)
-        .childFile('build.gradle');
+    final Directory androidDir =
+        package.platformDirectory(FlutterPlatform.android);
+    final Directory parentDir =
+        isApp ? androidDir.childDirectory('app') : androidDir;
+    final File buildGradle = parentDir.childFile('build.gradle');
     buildGradle.createSync(recursive: true);
 
     final String compileOptionsSection = '''
     compileOptions {
-        ${commentRequiredLine ? '// ' : ''}sourceCompatibility JavaVersion.VERSION_1_8
+        ${commentSourceLanguage ? '// ' : ''}sourceCompatibility JavaVersion.VERSION_1_8
     }
 ''';
     final String javaSection = '''
 java {
     toolchain {
-        ${commentRequiredLine ? '// ' : ''}languageVersion = JavaLanguageVersion.of(8)
+        ${commentSourceLanguage ? '// ' : ''}languageVersion = JavaLanguageVersion.of(8)
     }
 }
 
 ''';
+    final String namespace =
+        "${commentNamespace ? '// ' : ''}namespace '$_defaultFakeNamespace'";
 
     buildGradle.writeAsStringSync('''
 group 'dev.flutter.plugins.fake'
@@ -69,6 +78,7 @@
 
 ${includeLanguageVersion ? javaSection : ''}
 android {
+    ${includeNamespace ? namespace : ''}
     compileSdkVersion 33
 
     defaultConfig {
@@ -89,6 +99,26 @@
 ''');
   }
 
+  void writeFakeManifest(
+    RepositoryPackage package, {
+    bool isApp = false,
+    String packageName = _defaultFakeNamespace,
+  }) {
+    final Directory androidDir =
+        package.platformDirectory(FlutterPlatform.android);
+    final Directory startDir =
+        isApp ? androidDir.childDirectory('app') : androidDir;
+    final File manifest = startDir
+        .childDirectory('src')
+        .childDirectory('main')
+        .childFile('AndroidManifest.xml');
+    manifest.createSync(recursive: true);
+    manifest.writeAsString('''
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="$packageName">
+</manifest>''');
+  }
+
   test('skips when package has no Android directory', () async {
     createFakePackage('a_package', packagesDir, examples: <String>[]);
 
@@ -107,6 +137,7 @@
     final RepositoryPackage package =
         createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
     writeFakeBuildGradle(package);
+    writeFakeManifest(package);
 
     Error? commandError;
     final List<String> output = await runCapturingPrint(
@@ -128,6 +159,7 @@
     final RepositoryPackage package =
         createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
     writeFakeBuildGradle(package, includeSourceCompat: true);
+    writeFakeManifest(package);
 
     final List<String> output =
         await runCapturingPrint(runner, <String>['gradle-check']);
@@ -144,6 +176,7 @@
     final RepositoryPackage package =
         createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
     writeFakeBuildGradle(package, includeLanguageVersion: true);
+    writeFakeManifest(package);
 
     final List<String> output =
         await runCapturingPrint(runner, <String>['gradle-check']);
@@ -159,7 +192,10 @@
   test('does not require java version in examples', () async {
     final RepositoryPackage package = createFakePlugin('a_plugin', packagesDir);
     writeFakeBuildGradle(package, includeLanguageVersion: true);
-    writeFakeBuildGradle(package.getExamples().first);
+    writeFakeManifest(package);
+    final RepositoryPackage example = package.getExamples().first;
+    writeFakeBuildGradle(example, isApp: true);
+    writeFakeManifest(example, isApp: true);
 
     final List<String> output =
         await runCapturingPrint(runner, <String>['gradle-check']);
@@ -177,7 +213,8 @@
     final RepositoryPackage package =
         createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
     writeFakeBuildGradle(package,
-        includeSourceCompat: true, commentRequiredLine: true);
+        includeSourceCompat: true, commentSourceLanguage: true);
+    writeFakeManifest(package);
 
     Error? commandError;
     final List<String> output = await runCapturingPrint(
@@ -199,7 +236,8 @@
     final RepositoryPackage package =
         createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
     writeFakeBuildGradle(package,
-        includeLanguageVersion: true, commentRequiredLine: true);
+        includeLanguageVersion: true, commentSourceLanguage: true);
+    writeFakeManifest(package);
 
     Error? commandError;
     final List<String> output = await runCapturingPrint(
@@ -216,4 +254,124 @@
       ]),
     );
   });
+
+  test('fails when plugin namespace does not match AndroidManifest.xml',
+      () async {
+    final RepositoryPackage package =
+        createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
+    writeFakeBuildGradle(package, includeLanguageVersion: true);
+    writeFakeManifest(package, packageName: 'wrong.package.name');
+
+    Error? commandError;
+    final List<String> output = await runCapturingPrint(
+        runner, <String>['gradle-check'], errorHandler: (Error e) {
+      commandError = e;
+    });
+
+    expect(commandError, isA<ToolExit>());
+    expect(
+      output,
+      containsAllInOrder(<Matcher>[
+        contains(
+            'build.gradle "namespace" must match the "package" attribute in AndroidManifest.xml'),
+      ]),
+    );
+  });
+
+  test('fails when namespace is missing', () async {
+    final RepositoryPackage package =
+        createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
+    writeFakeBuildGradle(package,
+        includeLanguageVersion: true, includeNamespace: false);
+    writeFakeManifest(package);
+
+    Error? commandError;
+    final List<String> output = await runCapturingPrint(
+        runner, <String>['gradle-check'], errorHandler: (Error e) {
+      commandError = e;
+    });
+
+    expect(commandError, isA<ToolExit>());
+    expect(
+      output,
+      containsAllInOrder(<Matcher>[
+        contains('build.gradle must set a "namespace"'),
+      ]),
+    );
+  });
+
+  test('fails when namespace is missing from example', () async {
+    final RepositoryPackage package = createFakePlugin('a_plugin', packagesDir);
+    writeFakeBuildGradle(package, includeLanguageVersion: true);
+    writeFakeManifest(package);
+    final RepositoryPackage example = package.getExamples().first;
+    writeFakeBuildGradle(example,
+        isApp: true, includeLanguageVersion: true, includeNamespace: false);
+    writeFakeManifest(example, isApp: true);
+
+    Error? commandError;
+    final List<String> output = await runCapturingPrint(
+        runner, <String>['gradle-check'], errorHandler: (Error e) {
+      commandError = e;
+    });
+
+    expect(commandError, isA<ToolExit>());
+    expect(
+      output,
+      containsAllInOrder(<Matcher>[
+        contains('build.gradle must set a "namespace"'),
+      ]),
+    );
+  });
+
+  // TODO(stuartmorgan): Consider removing this in the future; we may at some
+  // point decide that we have a use case of example apps having different
+  // app IDs and namespaces. For now, it's enforced for consistency so they
+  // don't just accidentally diverge.
+  test('fails when namespace in example does not match AndroidManifest.xml',
+      () async {
+    final RepositoryPackage package = createFakePlugin('a_plugin', packagesDir);
+    writeFakeBuildGradle(package, includeLanguageVersion: true);
+    writeFakeManifest(package);
+    final RepositoryPackage example = package.getExamples().first;
+    writeFakeBuildGradle(example, isApp: true, includeLanguageVersion: true);
+    writeFakeManifest(example, isApp: true, packageName: 'wrong.package.name');
+
+    Error? commandError;
+    final List<String> output = await runCapturingPrint(
+        runner, <String>['gradle-check'], errorHandler: (Error e) {
+      commandError = e;
+    });
+
+    expect(commandError, isA<ToolExit>());
+    expect(
+      output,
+      containsAllInOrder(<Matcher>[
+        contains(
+            'build.gradle "namespace" must match the "package" attribute in AndroidManifest.xml'),
+      ]),
+    );
+  });
+
+  test('fails when namespace is commented out', () async {
+    final RepositoryPackage package =
+        createFakePlugin('a_plugin', packagesDir, examples: <String>[]);
+    writeFakeBuildGradle(package,
+        includeLanguageVersion: true, commentNamespace: true);
+    writeFakeManifest(package);
+
+    Error? commandError;
+    final List<String> output = await runCapturingPrint(
+        runner, <String>['gradle-check'], errorHandler: (Error e) {
+      commandError = e;
+    });
+
+    expect(commandError, isA<ToolExit>());
+    expect(
+      output,
+      containsAllInOrder(<Matcher>[
+        contains('build.gradle must set a "namespace"'),
+      ]),
+    );
+  });
 }
