diff --git a/camera/camera-extensions/build.gradle b/camera/camera-extensions/build.gradle
index 6feb049..6830280 100644
--- a/camera/camera-extensions/build.gradle
+++ b/camera/camera-extensions/build.gradle
@@ -66,6 +66,10 @@
         minSdkVersion 21
     }
 
+    buildTypes.all {
+        consumerProguardFiles "proguard-rules.pro"
+    }
+
     // Use Robolectric 4.+
     testOptions.unitTests.includeAndroidResources = true
 }
diff --git a/camera/camera-extensions/proguard-rules.pro b/camera/camera-extensions/proguard-rules.pro
new file mode 100644
index 0000000..f468308
--- /dev/null
+++ b/camera/camera-extensions/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Needs to keep the classes implementing the vendor library interfaces in the extensions module.
+# Otherwise, it will cause AbstractMethodError if proguard is enabled.
+-keep class androidx.camera.extensions.ExtensionsManager$** {*;}
diff --git a/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionsManager.java b/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionsManager.java
index 3e74c77..47e658a 100644
--- a/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionsManager.java
+++ b/camera/camera-extensions/src/main/java/androidx/camera/extensions/ExtensionsManager.java
@@ -173,7 +173,7 @@
                                     }
                                 },
                                 CameraXExecutors.directExecutor());
-                    } catch (NoSuchMethodError | NoClassDefFoundError e) {
+                    } catch (NoSuchMethodError | NoClassDefFoundError | AbstractMethodError e) {
                         Logger.e(TAG, "Failed to initialize extensions. Some classes or methods "
                                 + "are missed in the vendor library. " + e);
                         completer.set(getOrCreateExtensionsManager(
diff --git a/camera/integration-tests/extensionstestapp/build.gradle b/camera/integration-tests/extensionstestapp/build.gradle
index a379c83..5ee99c03 100644
--- a/camera/integration-tests/extensionstestapp/build.gradle
+++ b/camera/integration-tests/extensionstestapp/build.gradle
@@ -27,6 +27,13 @@
         versionCode 1
         multiDexEnabled true
     }
+
+    buildTypes.all {
+        minifyEnabled true
+        shrinkResources true
+        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+    }
 }
 
 dependencies {
diff --git a/camera/integration-tests/extensionstestapp/proguard-rules.pro b/camera/integration-tests/extensionstestapp/proguard-rules.pro
new file mode 100644
index 0000000..8f6c13c
--- /dev/null
+++ b/camera/integration-tests/extensionstestapp/proguard-rules.pro
@@ -0,0 +1,14 @@
+-keep class androidx.test.** {*;}
+-keep class androidx.camera.testing.** {*;}
+-keep class androidx.camera.integration.extensions.CameraExtensionsActivity {*;}
+
+-keepclassmembers class androidx.camera.lifecycle.ProcessCameraProvider {
+    ** shutdown();
+}
+
+-keepclassmembers class androidx.camera.extensions.ExtensionsManager {
+    ** shutdown();
+}
+
+-keep class org.junit.** {*;}
+-keep class org.hamcrest.** {*;}
