summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/aapt/ResourceTable.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 6d80a69b7444..4d5bb312aaf1 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -2623,6 +2623,14 @@ status_t ResourceTable::assignResourceIds()
const SourcePos unknown(String8("????"), 0);
sp<Type> attr = p->getType(String16("attr"), unknown);
+ // Force creation of ID if we are building feature splits.
+ // Auto-generated ID resources won't apply the type ID offset correctly unless
+ // the offset is applied here first.
+ // b/30607637
+ if (mPackageType == AppFeature && p->getName() == mAssetsPackage) {
+ sp<Type> id = p->getType(String16("id"), unknown);
+ }
+
// Assign indices...
const size_t typeCount = p->getOrderedTypes().size();
for (size_t ti = 0; ti < typeCount; ti++) {