diff --git a/common/hardware_android.cc b/common/hardware_android.cc
index 4f06ff2..abfca44 100644
--- a/common/hardware_android.cc
+++ b/common/hardware_android.cc
@@ -21,16 +21,10 @@
 #include <cutils/properties.h>
 
 #include "update_engine/common/hardware.h"
+#include "update_engine/common/platform_constants.h"
 
 using std::string;
 
-namespace {
-
-// The stateful directory used by update_engine.
-const char kNonVolatileDirectory[] = "/data/misc/update_engine";
-
-}  // namespace
-
 namespace chromeos_update_engine {
 
 namespace hardware {
@@ -102,7 +96,7 @@
 }
 
 bool HardwareAndroid::GetNonVolatileDirectory(base::FilePath* path) const {
-  base::FilePath local_path(kNonVolatileDirectory);
+  base::FilePath local_path(constants::kNonVolatileDirectory);
   if (!base::PathExists(local_path)) {
     LOG(ERROR) << "Non-volatile directory not found: " << local_path.value();
     return false;
diff --git a/common/hardware_chromeos.cc b/common/hardware_chromeos.cc
index ae27e36..f93685d 100644
--- a/common/hardware_chromeos.cc
+++ b/common/hardware_chromeos.cc
@@ -29,6 +29,7 @@
 
 #include "update_engine/common/hardware.h"
 #include "update_engine/common/hwid_override.h"
+#include "update_engine/common/platform_constants.h"
 #include "update_engine/common/subprocess.h"
 #include "update_engine/common/utils.h"
 
@@ -49,10 +50,6 @@
 // a powerwash is performed.
 const char kPowerwashCountMarker[] = "powerwash_count";
 
-// The stateful directory used by update_engine. This directory is wiped during
-// powerwash.
-const char kNonVolatileDirectory[] = "/var/lib/update_engine";
-
 }  // namespace
 
 namespace chromeos_update_engine {
@@ -144,7 +141,7 @@
 }
 
 bool HardwareChromeOS::GetNonVolatileDirectory(base::FilePath* path) const {
-  *path = base::FilePath(kNonVolatileDirectory);
+  *path = base::FilePath(constants::kNonVolatileDirectory);
   return true;
 }
 
diff --git a/common/platform_constants.h b/common/platform_constants.h
index 8331064..d1786ff 100644
--- a/common/platform_constants.h
+++ b/common/platform_constants.h
@@ -47,6 +47,9 @@
 // response. Empty if not supported.
 extern const char kOmahaResponseDeadlineFile[];
 
+// The stateful directory used by update_engine.
+extern const char kNonVolatileDirectory[];
+
 }  // namespace constants
 }  // namespace chromeos_update_engine
 
diff --git a/common/platform_constants_android.cc b/common/platform_constants_android.cc
index b6084ac..f35d7ef 100644
--- a/common/platform_constants_android.cc
+++ b/common/platform_constants_android.cc
@@ -30,6 +30,7 @@
 const char kCACertificatesPath[] = "/system/etc/security/cacerts";
 // No deadline file API support on Android.
 const char kOmahaResponseDeadlineFile[] = "";
+const char kNonVolatileDirectory[] = "/data/misc/update_engine";
 
 }  // namespace constants
 }  // namespace chromeos_update_engine
diff --git a/common/platform_constants_chromeos.cc b/common/platform_constants_chromeos.cc
index 45ca309..d8587ca 100644
--- a/common/platform_constants_chromeos.cc
+++ b/common/platform_constants_chromeos.cc
@@ -30,6 +30,8 @@
 const char kCACertificatesPath[] = "/usr/share/chromeos-ca-certificates";
 const char kOmahaResponseDeadlineFile[] =
     "/tmp/update-check-response-deadline";
+// This directory is wiped during powerwash.
+const char kNonVolatileDirectory[] = "/var/lib/update_engine";
 
 }  // namespace constants
 }  // namespace chromeos_update_engine
diff --git a/common/utils.cc b/common/utils.cc
index cfd8db0..0796459 100644
--- a/common/utils.cc
+++ b/common/utils.cc
@@ -56,6 +56,7 @@
 
 #include "update_engine/common/clock_interface.h"
 #include "update_engine/common/constants.h"
+#include "update_engine/common/platform_constants.h"
 #include "update_engine/common/prefs_interface.h"
 #include "update_engine/common/subprocess.h"
 #include "update_engine/omaha_request_params.h"
@@ -141,7 +142,13 @@
   }
 
   base::FilePath temp_dir;
+#ifdef __ANDROID__
+  temp_dir = base::FilePath(constants::kNonVolatileDirectory).Append("tmp");
+  if (!base::PathExists(temp_dir))
+    TEST_AND_RETURN_FALSE(base::CreateDirectory(temp_dir));
+#else
   TEST_AND_RETURN_FALSE(base::GetTempDir(&temp_dir));
+#endif  // __ANDROID__
   *template_path = temp_dir.Append(path);
   return true;
 }
