diff --git a/app.te b/app.te
index 73febbcde0e8913f4033eed370757da970895613..df8ff81b44beaa6fbf63cd74078ed7cd34aa1479 100644
--- a/app.te
+++ b/app.te
@@ -141,6 +141,10 @@ allow appdomain shared_relro_file:file r_file_perms;
 # Allow apps to read/execute installed binaries
 allow appdomain apk_data_file:file { rx_file_perms execmod };
 
+# /data/resource-cache
+allow appdomain resourcecache_data_file:file r_file_perms;
+allow appdomain resourcecache_data_file:dir r_dir_perms;
+
 ###
 ### CTS-specific rules
 ###
diff --git a/file.te b/file.te
index 1ea4a721f0e7ed1f1abe93a7879d74d48116a1d3..18bafa41cb0c1fff483c81c2a19567c2552c3f2c 100644
--- a/file.te
+++ b/file.te
@@ -61,6 +61,8 @@ type apk_private_tmp_file, file_type, data_file_type, mlstrustedobject;
 type dalvikcache_data_file, file_type, data_file_type;
 # /data/dalvik-cache/profiles
 type dalvikcache_profiles_data_file, file_type, data_file_type;
+# /data/resource-cache
+type resourcecache_data_file, file_type, data_file_type;
 # /data/local - writable by shell
 type shell_data_file, file_type, data_file_type;
 # /data/gps
diff --git a/file_contexts b/file_contexts
index 8ea7f6db13b3971008d671182cab395d2eca88c4..82b8c1c1b54be58359d62b3af5bd38fbd23ea733 100644
--- a/file_contexts
+++ b/file_contexts
@@ -173,6 +173,7 @@
 /data/system/ndebugsocket	u:object_r:system_ndebug_socket:s0
 /data/drm(/.*)?		u:object_r:drm_data_file:s0
 /data/gps(/.*)?		u:object_r:gps_data_file:s0
+/data/resource-cache(/.*)? u:object_r:resourcecache_data_file:s0
 /data/dalvik-cache(/.*)? u:object_r:dalvikcache_data_file:s0
 /data/dalvik-cache/profiles(/.*)? u:object_r:dalvikcache_profiles_data_file:s0
 /data/anr(/.*)?		u:object_r:anr_data_file:s0
diff --git a/installd.te b/installd.te
index eed034375ce7127870959f3d6d87af36b0d27d0e..5faa1ec82595bafc6415325055f700d2b44c2d44 100644
--- a/installd.te
+++ b/installd.te
@@ -49,6 +49,10 @@ allow installd dalvikcache_data_file:file create_file_perms;
 allow installd dalvikcache_profiles_data_file:dir rw_dir_perms;
 allow installd dalvikcache_profiles_data_file:file create_file_perms;
 
+# Create files under /data/resource-cache.
+allow installd resourcecache_data_file:dir rw_dir_perms;
+allow installd resourcecache_data_file:file create_file_perms;
+
 # Upgrade from unlabeled userdata.
 # Just need enough to remove and/or relabel it.
 allow installd unlabeled:dir { getattr search relabelfrom rw_dir_perms rmdir };
diff --git a/system_server.te b/system_server.te
index ffed556e27c880165ce92fa7aac8a180a9f98c2b..5f2d691830191a5c6b8c87ebd0a8538f531c7d00 100644
--- a/system_server.te
+++ b/system_server.te
@@ -15,6 +15,10 @@ allow system_server system_server_tmpfs:file execute;
 # For art.
 allow system_server dalvikcache_data_file:file execute;
 
+# /data/resource-cache
+allow system_server resourcecache_data_file:file r_file_perms;
+allow system_server resourcecache_data_file:dir r_dir_perms;
+
 # ptrace to processes in the same domain for debugging crashes.
 allow system_server self:process ptrace;
 
diff --git a/zygote.te b/zygote.te
index da3a03723d9ac05a49a6d0c0448ae26042f5cee5..c2a325eecb1a7bad7da0fd61d536260f8061644f 100644
--- a/zygote.te
+++ b/zygote.te
@@ -24,6 +24,9 @@ allow zygote system_data_file:file r_file_perms;
 # Write to /data/dalvik-cache.
 allow zygote dalvikcache_data_file:dir create_dir_perms;
 allow zygote dalvikcache_data_file:file create_file_perms;
+# Write to /data/resource-cache
+allow zygote resourcecache_data_file:dir rw_dir_perms;
+allow zygote resourcecache_data_file:file create_file_perms;
 # For art.
 allow zygote dalvikcache_data_file:file execute;
 # Execute dexopt.