diff --git a/tests/tests/permission/src/android/permission/cts/DebuggableTest.java b/tests/tests/permission/src/android/permission/cts/DebuggableTest.java
index fe4ed57..58751a5 100644
--- a/tests/tests/permission/src/android/permission/cts/DebuggableTest.java
+++ b/tests/tests/permission/src/android/permission/cts/DebuggableTest.java
@@ -20,7 +20,10 @@
 import android.content.pm.PackageManager;
 import android.test.AndroidTestCase;
 
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * Verify that pre-installed packages don't have the debuggable
@@ -29,14 +32,21 @@
  */
 public class DebuggableTest extends AndroidTestCase {
 
+    // Remove whitelist in future release.
+    private static final Set<String> WHITELISTED_APPS = new HashSet<String>(Arrays.asList(
+            "com.google.android.apps.uploader"
+            ));
+
     public void testNoDebuggable() {
         List<ApplicationInfo> apps = getContext()
                 .getPackageManager()
                 .getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
         for (ApplicationInfo app : apps) {
             String appName = app.packageName;
-            assertTrue("Package " + appName + " is marked as debuggable.",
-                    (app.flags & ApplicationInfo.FLAG_DEBUGGABLE) == 0);
+            if (!WHITELISTED_APPS.contains(appName)) {
+                assertTrue("Package " + appName + " is marked as debuggable.",
+                        (app.flags & ApplicationInfo.FLAG_DEBUGGABLE) == 0);
+            }
         }
     }
 }
