AAPT2: Change accepted notation for resource names in tests

Previously the way to name resources in tests was to use reference
notation (@[package:][type/]name). Now we use name notation (no @).

Change-Id: I68f0a36562d89cc78c582d128f370d9556c58707
diff --git a/tools/aapt2/ResourceParser_test.cpp b/tools/aapt2/ResourceParser_test.cpp
index b456c04..3d03a88 100644
--- a/tools/aapt2/ResourceParser_test.cpp
+++ b/tools/aapt2/ResourceParser_test.cpp
@@ -68,7 +68,7 @@
     std::string input = "<string name=\"foo\">   \"  hey there \" </string>";
     ASSERT_TRUE(testParse(input));
 
-    String* str = test::getValue<String>(&mTable, "@string/foo");
+    String* str = test::getValue<String>(&mTable, "string/foo");
     ASSERT_NE(nullptr, str);
     EXPECT_EQ(std::string("  hey there "), *str->value);
 }
@@ -77,7 +77,7 @@
     std::string input = "<string name=\"foo\">\\?123</string>";
     ASSERT_TRUE(testParse(input));
 
-    String* str = test::getValue<String>(&mTable, "@string/foo");
+    String* str = test::getValue<String>(&mTable, "string/foo");
     ASSERT_NE(nullptr, str);
     EXPECT_EQ(std::string("?123"), *str->value);
 }
@@ -96,7 +96,7 @@
                         "  There are <xliff:g id=\"count\">%1$d</xliff:g> apples</string>";
     ASSERT_TRUE(testParse(input));
 
-    String* str = test::getValue<String>(&mTable, "@string/foo");
+    String* str = test::getValue<String>(&mTable, "string/foo");
     ASSERT_NE(nullptr, str);
     EXPECT_EQ(StringPiece("There are %1$d apples"), StringPiece(*str->value));
 }
@@ -109,7 +109,7 @@
     // a non-existing value, and this causes problems in styles when trying to resolve
     // an attribute. Null values must be encoded as android::Res_value::TYPE_REFERENCE
     // with a data value of 0.
-    BinaryPrimitive* integer = test::getValue<BinaryPrimitive>(&mTable, "@integer/foo");
+    BinaryPrimitive* integer = test::getValue<BinaryPrimitive>(&mTable, "integer/foo");
     ASSERT_NE(nullptr, integer);
     EXPECT_EQ(uint16_t(android::Res_value::TYPE_REFERENCE), integer->value.dataType);
     EXPECT_EQ(0u, integer->value.data);
@@ -119,7 +119,7 @@
     std::string input = "<integer name=\"foo\">@empty</integer>";
     ASSERT_TRUE(testParse(input));
 
-    BinaryPrimitive* integer = test::getValue<BinaryPrimitive>(&mTable, "@integer/foo");
+    BinaryPrimitive* integer = test::getValue<BinaryPrimitive>(&mTable, "integer/foo");
     ASSERT_NE(nullptr, integer);
     EXPECT_EQ(uint16_t(android::Res_value::TYPE_NULL), integer->value.dataType);
     EXPECT_EQ(uint32_t(android::Res_value::DATA_NULL_EMPTY), integer->value.data);
@@ -130,11 +130,11 @@
                         "<attr name=\"bar\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Attribute* attr = test::getValue<Attribute>(&mTable, "@attr/foo");
+    Attribute* attr = test::getValue<Attribute>(&mTable, "attr/foo");
     ASSERT_NE(nullptr, attr);
     EXPECT_EQ(uint32_t(android::ResTable_map::TYPE_STRING), attr->typeMask);
 
-    attr = test::getValue<Attribute>(&mTable, "@attr/bar");
+    attr = test::getValue<Attribute>(&mTable, "attr/bar");
     ASSERT_NE(nullptr, attr);
     EXPECT_EQ(uint32_t(android::ResTable_map::TYPE_ANY), attr->typeMask);
 }
@@ -150,20 +150,20 @@
         </declare-styleable>)EOF";
     ASSERT_TRUE(testParse(input, watchConfig));
 
-    EXPECT_EQ(nullptr, test::getValueForConfig<Attribute>(&mTable, "@attr/foo", watchConfig));
-    EXPECT_EQ(nullptr, test::getValueForConfig<Attribute>(&mTable, "@attr/baz", watchConfig));
-    EXPECT_EQ(nullptr, test::getValueForConfig<Styleable>(&mTable, "@styleable/bar", watchConfig));
+    EXPECT_EQ(nullptr, test::getValueForConfig<Attribute>(&mTable, "attr/foo", watchConfig));
+    EXPECT_EQ(nullptr, test::getValueForConfig<Attribute>(&mTable, "attr/baz", watchConfig));
+    EXPECT_EQ(nullptr, test::getValueForConfig<Styleable>(&mTable, "styleable/bar", watchConfig));
 
-    EXPECT_NE(nullptr, test::getValue<Attribute>(&mTable, "@attr/foo"));
-    EXPECT_NE(nullptr, test::getValue<Attribute>(&mTable, "@attr/baz"));
-    EXPECT_NE(nullptr, test::getValue<Styleable>(&mTable, "@styleable/bar"));
+    EXPECT_NE(nullptr, test::getValue<Attribute>(&mTable, "attr/foo"));
+    EXPECT_NE(nullptr, test::getValue<Attribute>(&mTable, "attr/baz"));
+    EXPECT_NE(nullptr, test::getValue<Styleable>(&mTable, "styleable/bar"));
 }
 
 TEST_F(ResourceParserTest, ParseAttrWithMinMax) {
     std::string input = "<attr name=\"foo\" min=\"10\" max=\"23\" format=\"integer\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Attribute* attr = test::getValue<Attribute>(&mTable, "@attr/foo");
+    Attribute* attr = test::getValue<Attribute>(&mTable, "attr/foo");
     ASSERT_NE(nullptr, attr);
     EXPECT_EQ(uint32_t(android::ResTable_map::TYPE_INTEGER), attr->typeMask);
     EXPECT_EQ(10, attr->minInt);
@@ -182,7 +182,7 @@
                         "<attr name=\"foo\" format=\"string\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Attribute* attr = test::getValue<Attribute>(&mTable, "@attr/foo");
+    Attribute* attr = test::getValue<Attribute>(&mTable, "attr/foo");
     ASSERT_NE(nullptr, attr);
     EXPECT_EQ(uint32_t(android::ResTable_map::TYPE_STRING), attr->typeMask);
 }
@@ -196,7 +196,7 @@
                         "</declare-styleable>";
     ASSERT_TRUE(testParse(input));
 
-    Attribute* attr = test::getValue<Attribute>(&mTable, "@attr/foo");
+    Attribute* attr = test::getValue<Attribute>(&mTable, "attr/foo");
     ASSERT_NE(nullptr, attr);
     EXPECT_EQ(uint32_t(android::ResTable_map::TYPE_BOOLEAN), attr->typeMask);
 }
@@ -209,7 +209,7 @@
                         "</attr>";
     ASSERT_TRUE(testParse(input));
 
-    Attribute* enumAttr = test::getValue<Attribute>(&mTable, "@attr/foo");
+    Attribute* enumAttr = test::getValue<Attribute>(&mTable, "attr/foo");
     ASSERT_NE(enumAttr, nullptr);
     EXPECT_EQ(enumAttr->typeMask, android::ResTable_map::TYPE_ENUM);
     ASSERT_EQ(enumAttr->symbols.size(), 3u);
@@ -235,7 +235,7 @@
                         "</attr>";
     ASSERT_TRUE(testParse(input));
 
-    Attribute* flagAttr = test::getValue<Attribute>(&mTable, "@attr/foo");
+    Attribute* flagAttr = test::getValue<Attribute>(&mTable, "attr/foo");
     ASSERT_NE(nullptr, flagAttr);
     EXPECT_EQ(flagAttr->typeMask, android::ResTable_map::TYPE_FLAGS);
     ASSERT_EQ(flagAttr->symbols.size(), 3u);
@@ -275,32 +275,32 @@
                         "</style>";
     ASSERT_TRUE(testParse(input));
 
-    Style* style = test::getValue<Style>(&mTable, "@style/foo");
+    Style* style = test::getValue<Style>(&mTable, "style/foo");
     ASSERT_NE(nullptr, style);
     AAPT_ASSERT_TRUE(style->parent);
     AAPT_ASSERT_TRUE(style->parent.value().name);
-    EXPECT_EQ(test::parseNameOrDie("@style/fu"), style->parent.value().name.value());
+    EXPECT_EQ(test::parseNameOrDie("style/fu"), style->parent.value().name.value());
     ASSERT_EQ(3u, style->entries.size());
 
     AAPT_ASSERT_TRUE(style->entries[0].key.name);
-    EXPECT_EQ(test::parseNameOrDie("@attr/bar"), style->entries[0].key.name.value());
+    EXPECT_EQ(test::parseNameOrDie("attr/bar"), style->entries[0].key.name.value());
 
     AAPT_ASSERT_TRUE(style->entries[1].key.name);
-    EXPECT_EQ(test::parseNameOrDie("@attr/bat"), style->entries[1].key.name.value());
+    EXPECT_EQ(test::parseNameOrDie("attr/bat"), style->entries[1].key.name.value());
 
     AAPT_ASSERT_TRUE(style->entries[2].key.name);
-    EXPECT_EQ(test::parseNameOrDie("@attr/baz"), style->entries[2].key.name.value());
+    EXPECT_EQ(test::parseNameOrDie("attr/baz"), style->entries[2].key.name.value());
 }
 
 TEST_F(ResourceParserTest, ParseStyleWithShorthandParent) {
     std::string input = "<style name=\"foo\" parent=\"com.app:Theme\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Style* style = test::getValue<Style>(&mTable, "@style/foo");
+    Style* style = test::getValue<Style>(&mTable, "style/foo");
     ASSERT_NE(nullptr, style);
     AAPT_ASSERT_TRUE(style->parent);
     AAPT_ASSERT_TRUE(style->parent.value().name);
-    EXPECT_EQ(test::parseNameOrDie("@com.app:style/Theme"), style->parent.value().name.value());
+    EXPECT_EQ(test::parseNameOrDie("com.app:style/Theme"), style->parent.value().name.value());
 }
 
 TEST_F(ResourceParserTest, ParseStyleWithPackageAliasedParent) {
@@ -308,11 +308,11 @@
                         "       name=\"foo\" parent=\"app:Theme\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Style* style = test::getValue<Style>(&mTable, "@style/foo");
+    Style* style = test::getValue<Style>(&mTable, "style/foo");
     ASSERT_NE(nullptr, style);
     AAPT_ASSERT_TRUE(style->parent);
     AAPT_ASSERT_TRUE(style->parent.value().name);
-    EXPECT_EQ(test::parseNameOrDie("@android:style/Theme"), style->parent.value().name.value());
+    EXPECT_EQ(test::parseNameOrDie("android:style/Theme"), style->parent.value().name.value());
 }
 
 TEST_F(ResourceParserTest, ParseStyleWithPackageAliasedItems) {
@@ -322,21 +322,21 @@
             "</style>";
     ASSERT_TRUE(testParse(input));
 
-    Style* style = test::getValue<Style>(&mTable, "@style/foo");
+    Style* style = test::getValue<Style>(&mTable, "style/foo");
     ASSERT_NE(nullptr, style);
     ASSERT_EQ(1u, style->entries.size());
-    EXPECT_EQ(test::parseNameOrDie("@android:attr/bar"), style->entries[0].key.name.value());
+    EXPECT_EQ(test::parseNameOrDie("android:attr/bar"), style->entries[0].key.name.value());
 }
 
 TEST_F(ResourceParserTest, ParseStyleWithInferredParent) {
     std::string input = "<style name=\"foo.bar\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Style* style = test::getValue<Style>(&mTable, "@style/foo.bar");
+    Style* style = test::getValue<Style>(&mTable, "style/foo.bar");
     ASSERT_NE(nullptr, style);
     AAPT_ASSERT_TRUE(style->parent);
     AAPT_ASSERT_TRUE(style->parent.value().name);
-    EXPECT_EQ(style->parent.value().name.value(), test::parseNameOrDie("@style/foo"));
+    EXPECT_EQ(style->parent.value().name.value(), test::parseNameOrDie("style/foo"));
     EXPECT_TRUE(style->parentInferred);
 }
 
@@ -344,7 +344,7 @@
     std::string input = "<style name=\"foo.bar\" parent=\"\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Style* style = test::getValue<Style>(&mTable, "@style/foo.bar");
+    Style* style = test::getValue<Style>(&mTable, "style/foo.bar");
     ASSERT_NE(nullptr, style);
     AAPT_EXPECT_FALSE(style->parent);
     EXPECT_FALSE(style->parentInferred);
@@ -354,7 +354,7 @@
     std::string input = R"EOF(<style name="foo" parent="*android:style/bar" />)EOF";
     ASSERT_TRUE(testParse(input));
 
-    Style* style = test::getValue<Style>(&mTable, "@style/foo");
+    Style* style = test::getValue<Style>(&mTable, "style/foo");
     ASSERT_NE(nullptr, style);
     AAPT_ASSERT_TRUE(style->parent);
     EXPECT_TRUE(style->parent.value().privateReference);
@@ -364,7 +364,7 @@
     std::string input = "<string name=\"foo\">@+id/bar</string>";
     ASSERT_TRUE(testParse(input));
 
-    Id* id = test::getValue<Id>(&mTable, "@id/bar");
+    Id* id = test::getValue<Id>(&mTable, "id/bar");
     ASSERT_NE(id, nullptr);
 }
 
@@ -379,31 +379,31 @@
     ASSERT_TRUE(testParse(input));
 
     Maybe<ResourceTable::SearchResult> result =
-            mTable.findResource(test::parseNameOrDie("@styleable/foo"));
+            mTable.findResource(test::parseNameOrDie("styleable/foo"));
     AAPT_ASSERT_TRUE(result);
     EXPECT_EQ(SymbolState::kPublic, result.value().entry->symbolStatus.state);
 
-    Attribute* attr = test::getValue<Attribute>(&mTable, "@attr/bar");
+    Attribute* attr = test::getValue<Attribute>(&mTable, "attr/bar");
     ASSERT_NE(attr, nullptr);
     EXPECT_TRUE(attr->isWeak());
 
-    attr = test::getValue<Attribute>(&mTable, "@attr/bat");
+    attr = test::getValue<Attribute>(&mTable, "attr/bat");
     ASSERT_NE(attr, nullptr);
     EXPECT_TRUE(attr->isWeak());
 
-    attr = test::getValue<Attribute>(&mTable, "@attr/baz");
+    attr = test::getValue<Attribute>(&mTable, "attr/baz");
     ASSERT_NE(attr, nullptr);
     EXPECT_TRUE(attr->isWeak());
     EXPECT_EQ(1u, attr->symbols.size());
 
-    EXPECT_NE(nullptr, test::getValue<Id>(&mTable, "@id/foo"));
+    EXPECT_NE(nullptr, test::getValue<Id>(&mTable, "id/foo"));
 
-    Styleable* styleable = test::getValue<Styleable>(&mTable, "@styleable/foo");
+    Styleable* styleable = test::getValue<Styleable>(&mTable, "styleable/foo");
     ASSERT_NE(styleable, nullptr);
     ASSERT_EQ(3u, styleable->entries.size());
 
-    EXPECT_EQ(test::parseNameOrDie("@attr/bar"), styleable->entries[0].name.value());
-    EXPECT_EQ(test::parseNameOrDie("@attr/bat"), styleable->entries[1].name.value());
+    EXPECT_EQ(test::parseNameOrDie("attr/bar"), styleable->entries[0].name.value());
+    EXPECT_EQ(test::parseNameOrDie("attr/bat"), styleable->entries[1].name.value());
 }
 
 TEST_F(ResourceParserTest, ParsePrivateAttributesDeclareStyleable) {
@@ -412,7 +412,7 @@
                         "  <attr name=\"privAndroid:bat\" />\n"
                         "</declare-styleable>";
     ASSERT_TRUE(testParse(input));
-    Styleable* styleable = test::getValue<Styleable>(&mTable, "@styleable/foo");
+    Styleable* styleable = test::getValue<Styleable>(&mTable, "styleable/foo");
     ASSERT_NE(nullptr, styleable);
     ASSERT_EQ(2u, styleable->entries.size());
 
@@ -433,7 +433,7 @@
                         "</array>";
     ASSERT_TRUE(testParse(input));
 
-    Array* array = test::getValue<Array>(&mTable, "@array/foo");
+    Array* array = test::getValue<Array>(&mTable, "array/foo");
     ASSERT_NE(array, nullptr);
     ASSERT_EQ(3u, array->items.size());
 
@@ -447,7 +447,7 @@
                         "  <item>\"Werk\"</item>\n"
                         "</string-array>\n";
     ASSERT_TRUE(testParse(input));
-    EXPECT_NE(nullptr, test::getValue<Array>(&mTable, "@array/foo"));
+    EXPECT_NE(nullptr, test::getValue<Array>(&mTable, "array/foo"));
 }
 
 TEST_F(ResourceParserTest, ParsePlural) {
@@ -463,7 +463,7 @@
                         "<string name=\"foo\">Hi</string>";
     ASSERT_TRUE(testParse(input));
 
-    String* value = test::getValue<String>(&mTable, "@string/foo");
+    String* value = test::getValue<String>(&mTable, "string/foo");
     ASSERT_NE(nullptr, value);
     EXPECT_EQ(value->getComment(), "This is a comment");
 }
@@ -475,7 +475,7 @@
 
     ASSERT_TRUE(testParse(input));
 
-    String* value = test::getValue<String>(&mTable, "@string/foo");
+    String* value = test::getValue<String>(&mTable, "string/foo");
     ASSERT_NE(nullptr, value);
     EXPECT_EQ(value->getComment(), "Two");
 }
@@ -489,7 +489,7 @@
 
     ASSERT_TRUE(testParse(input));
 
-    String* value = test::getValue<String>(&mTable, "@string/foo");
+    String* value = test::getValue<String>(&mTable, "string/foo");
     ASSERT_NE(nullptr, value);
     EXPECT_EQ(value->getComment(), "One");
 }
@@ -509,13 +509,13 @@
         </attr>)EOF";
     ASSERT_TRUE(testParse(input));
 
-    Styleable* styleable = test::getValue<Styleable>(&mTable, "@styleable/foo");
+    Styleable* styleable = test::getValue<Styleable>(&mTable, "styleable/foo");
     ASSERT_NE(nullptr, styleable);
     ASSERT_EQ(1u, styleable->entries.size());
 
     EXPECT_EQ(StringPiece("The name of the bar"), styleable->entries.front().getComment());
 
-    Attribute* attr = test::getValue<Attribute>(&mTable, "@attr/foo");
+    Attribute* attr = test::getValue<Attribute>(&mTable, "attr/foo");
     ASSERT_NE(nullptr, attr);
     ASSERT_EQ(1u, attr->symbols.size());
 
@@ -530,7 +530,7 @@
     std::string input = "<public type=\"id\" name=\"foo\"/>";
     ASSERT_TRUE(testParse(input));
 
-    Id* id = test::getValue<Id>(&mTable, "@id/foo");
+    Id* id = test::getValue<Id>(&mTable, "id/foo");
     ASSERT_NE(nullptr, id);
 }
 
@@ -545,22 +545,22 @@
     )EOF";
     ASSERT_TRUE(testParse(input));
 
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "@string/foo",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "string/foo",
                                                                  ConfigDescription::defaultConfig(),
                                                                  "phone"));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "@string/foo",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "string/foo",
                                                                  ConfigDescription::defaultConfig(),
                                                                  "no-sdcard"));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "@string/bar",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "string/bar",
                                                                  ConfigDescription::defaultConfig(),
                                                                  ""));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "@string/baz",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "string/baz",
                                                                  ConfigDescription::defaultConfig(),
                                                                  ""));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "@string/bit",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "string/bit",
                                                                  ConfigDescription::defaultConfig(),
                                                                  "phablet"));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "@string/bot",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<String>(&mTable, "string/bot",
                                                                  ConfigDescription::defaultConfig(),
                                                                  "default"));
 }
@@ -574,7 +574,7 @@
     ASSERT_TRUE(testParse(input));
 
     Maybe<ResourceTable::SearchResult> result = mTable.findResource(
-            test::parseNameOrDie("@attr/foo"));
+            test::parseNameOrDie("attr/foo"));
     AAPT_ASSERT_TRUE(result);
 
     AAPT_ASSERT_TRUE(result.value().package->id);
@@ -585,7 +585,7 @@
                         result.value().entry->id.value());
     EXPECT_EQ(ResourceId(0x01010040), actualId);
 
-    result = mTable.findResource(test::parseNameOrDie("@attr/bar"));
+    result = mTable.findResource(test::parseNameOrDie("attr/bar"));
     AAPT_ASSERT_TRUE(result);
 
     AAPT_ASSERT_TRUE(result.value().package->id);
@@ -610,7 +610,7 @@
     ASSERT_TRUE(testParse(input));
 
     Maybe<ResourceTable::SearchResult> result = mTable.findResource(
-            test::parseNameOrDie("@string/bar"));
+            test::parseNameOrDie("string/bar"));
     AAPT_ASSERT_TRUE(result);
     const ResourceEntry* entry = result.value().entry;
     ASSERT_NE(nullptr, entry);
@@ -621,7 +621,7 @@
     std::string input = R"EOF(<item name="foo" type="integer" format="float">0.3</item>)EOF";
     ASSERT_TRUE(testParse(input));
 
-    BinaryPrimitive* val = test::getValue<BinaryPrimitive>(&mTable, "@integer/foo");
+    BinaryPrimitive* val = test::getValue<BinaryPrimitive>(&mTable, "integer/foo");
     ASSERT_NE(nullptr, val);
 
     EXPECT_EQ(uint32_t(android::Res_value::TYPE_FLOAT), val->value.dataType);
diff --git a/tools/aapt2/ResourceTable_test.cpp b/tools/aapt2/ResourceTable_test.cpp
index cf6660c..4db40a6 100644
--- a/tools/aapt2/ResourceTable_test.cpp
+++ b/tools/aapt2/ResourceTable_test.cpp
@@ -30,13 +30,13 @@
     ResourceTable table;
 
     EXPECT_FALSE(table.addResource(
-            test::parseNameOrDie("@android:id/hey,there"),
+            test::parseNameOrDie("android:id/hey,there"),
             ConfigDescription{}, "",
             test::ValueBuilder<Id>().setSource("test.xml", 21u).build(),
             test::getDiagnostics()));
 
     EXPECT_FALSE(table.addResource(
-            test::parseNameOrDie("@android:id/hey:there"),
+            test::parseNameOrDie("android:id/hey:there"),
             ConfigDescription{}, "",
             test::ValueBuilder<Id>().setSource("test.xml", 21u).build(),
             test::getDiagnostics()));
@@ -46,12 +46,12 @@
     ResourceTable table;
 
     EXPECT_TRUE(table.addResource(
-            test::parseNameOrDie("@android:attr/id"),
+            test::parseNameOrDie("android:attr/id"),
             ConfigDescription{}, "",
             test::ValueBuilder<Id>().setSource("test/path/file.xml", 23u).build(),
             test::getDiagnostics()));
 
-    ASSERT_NE(nullptr, test::getValue<Id>(&table, "@android:attr/id"));
+    ASSERT_NE(nullptr, test::getValue<Id>(&table, "android:attr/id"));
 }
 
 TEST(ResourceTableTest, AddMultipleResources) {
@@ -62,35 +62,35 @@
     memcpy(languageConfig.language, "pl", sizeof(languageConfig.language));
 
     EXPECT_TRUE(table.addResource(
-            test::parseNameOrDie("@android:attr/layout_width"),
+            test::parseNameOrDie("android:attr/layout_width"),
             config, "",
             test::ValueBuilder<Id>().setSource("test/path/file.xml", 10u).build(),
             test::getDiagnostics()));
 
     EXPECT_TRUE(table.addResource(
-            test::parseNameOrDie("@android:attr/id"),
+            test::parseNameOrDie("android:attr/id"),
             config, "",
             test::ValueBuilder<Id>().setSource("test/path/file.xml", 12u).build(),
             test::getDiagnostics()));
 
     EXPECT_TRUE(table.addResource(
-            test::parseNameOrDie("@android:string/ok"),
+            test::parseNameOrDie("android:string/ok"),
             config, "",
             test::ValueBuilder<Id>().setSource("test/path/file.xml", 14u).build(),
             test::getDiagnostics()));
 
     EXPECT_TRUE(table.addResource(
-            test::parseNameOrDie("@android:string/ok"),
+            test::parseNameOrDie("android:string/ok"),
             languageConfig, "",
             test::ValueBuilder<BinaryPrimitive>(android::Res_value{})
                     .setSource("test/path/file.xml", 20u)
                     .build(),
             test::getDiagnostics()));
 
-    ASSERT_NE(nullptr, test::getValue<Id>(&table, "@android:attr/layout_width"));
-    ASSERT_NE(nullptr, test::getValue<Id>(&table, "@android:attr/id"));
-    ASSERT_NE(nullptr, test::getValue<Id>(&table, "@android:string/ok"));
-    ASSERT_NE(nullptr, test::getValueForConfig<BinaryPrimitive>(&table, "@android:string/ok",
+    ASSERT_NE(nullptr, test::getValue<Id>(&table, "android:attr/layout_width"));
+    ASSERT_NE(nullptr, test::getValue<Id>(&table, "android:attr/id"));
+    ASSERT_NE(nullptr, test::getValue<Id>(&table, "android:string/ok"));
+    ASSERT_NE(nullptr, test::getValueForConfig<BinaryPrimitive>(&table, "android:string/ok",
                                                                 languageConfig));
 }
 
@@ -98,22 +98,22 @@
     ResourceTable table;
 
     ASSERT_TRUE(table.addResource(
-            test::parseNameOrDie("@android:attr/foo"),
+            test::parseNameOrDie("android:attr/foo"),
             ConfigDescription{}, "",
             util::make_unique<Attribute>(true),
             test::getDiagnostics()));
 
-    Attribute* attr = test::getValue<Attribute>(&table, "@android:attr/foo");
+    Attribute* attr = test::getValue<Attribute>(&table, "android:attr/foo");
     ASSERT_NE(nullptr, attr);
     EXPECT_TRUE(attr->isWeak());
 
     ASSERT_TRUE(table.addResource(
-            test::parseNameOrDie("@android:attr/foo"),
+            test::parseNameOrDie("android:attr/foo"),
             ConfigDescription{}, "",
             util::make_unique<Attribute>(false),
             test::getDiagnostics()));
 
-    attr = test::getValue<Attribute>(&table, "@android:attr/foo");
+    attr = test::getValue<Attribute>(&table, "android:attr/foo");
     ASSERT_NE(nullptr, attr);
     EXPECT_FALSE(attr->isWeak());
 }
@@ -121,24 +121,24 @@
 TEST(ResourceTableTest, ProductVaryingValues) {
     ResourceTable table;
 
-    EXPECT_TRUE(table.addResource(test::parseNameOrDie("@android:string/foo"),
+    EXPECT_TRUE(table.addResource(test::parseNameOrDie("android:string/foo"),
                                   test::parseConfigOrDie("land"), "tablet",
                                   util::make_unique<Id>(),
                                   test::getDiagnostics()));
-    EXPECT_TRUE(table.addResource(test::parseNameOrDie("@android:string/foo"),
+    EXPECT_TRUE(table.addResource(test::parseNameOrDie("android:string/foo"),
                                   test::parseConfigOrDie("land"), "phone",
                                   util::make_unique<Id>(),
                                   test::getDiagnostics()));
 
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/foo",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/foo",
                                                              test::parseConfigOrDie("land"),
                                                              "tablet"));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/foo",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/foo",
                                                              test::parseConfigOrDie("land"),
                                                              "phone"));
 
     Maybe<ResourceTable::SearchResult> sr = table.findResource(
-            test::parseNameOrDie("@android:string/foo"));
+            test::parseNameOrDie("android:string/foo"));
     AAPT_ASSERT_TRUE(sr);
     std::vector<ResourceConfigValue*> values = sr.value().entry->findAllValues(
             test::parseConfigOrDie("land"));
diff --git a/tools/aapt2/ValueVisitor_test.cpp b/tools/aapt2/ValueVisitor_test.cpp
index 11eab33..54e9fcd 100644
--- a/tools/aapt2/ValueVisitor_test.cpp
+++ b/tools/aapt2/ValueVisitor_test.cpp
@@ -59,8 +59,8 @@
 
 TEST(ValueVisitorTest, VisitsReferencesInStyle) {
     std::unique_ptr<Style> style = test::StyleBuilder()
-            .setParent("@android:style/foo")
-            .addItem("@android:attr/one", test::buildReference("@android:id/foo"))
+            .setParent("android:style/foo")
+            .addItem("android:attr/one", test::buildReference("android:id/foo"))
             .build();
 
     StyleVisitor visitor;
@@ -73,11 +73,11 @@
 }
 
 TEST(ValueVisitorTest, ValueCast) {
-    std::unique_ptr<Reference> ref = test::buildReference("@android:color/white");
+    std::unique_ptr<Reference> ref = test::buildReference("android:color/white");
     EXPECT_NE(valueCast<Reference>(ref.get()), nullptr);
 
     std::unique_ptr<Style> style = test::StyleBuilder()
-            .addItem("@android:attr/foo", test::buildReference("@android:color/black"))
+            .addItem("android:attr/foo", test::buildReference("android:color/black"))
             .build();
     EXPECT_NE(valueCast<Style>(style.get()), nullptr);
     EXPECT_EQ(valueCast<Reference>(style.get()), nullptr);
diff --git a/tools/aapt2/compile/IdAssigner_test.cpp b/tools/aapt2/compile/IdAssigner_test.cpp
index 4f43c40..d21fcba 100644
--- a/tools/aapt2/compile/IdAssigner_test.cpp
+++ b/tools/aapt2/compile/IdAssigner_test.cpp
@@ -23,9 +23,9 @@
 
 TEST(IdAssignerTest, AssignIds) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addSimple("@android:attr/foo")
-            .addSimple("@android:attr/bar")
-            .addSimple("@android:id/foo")
+            .addSimple("android:attr/foo")
+            .addSimple("android:attr/bar")
+            .addSimple("android:id/foo")
             .setPackageId("android", 0x01)
             .build();
 
@@ -38,15 +38,15 @@
 
 TEST(IdAssignerTest, AssignIdsWithReservedIds) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addSimple("@android:id/foo", ResourceId(0x01010000))
-            .addSimple("@android:dimen/two")
-            .addSimple("@android:integer/three")
-            .addSimple("@android:string/five")
-            .addSimple("@android:attr/fun", ResourceId(0x01040000))
-            .addSimple("@android:attr/foo", ResourceId(0x01040006))
-            .addSimple("@android:attr/bar")
-            .addSimple("@android:attr/baz")
-            .addSimple("@app:id/biz")
+            .addSimple("android:id/foo", ResourceId(0x01010000))
+            .addSimple("android:dimen/two")
+            .addSimple("android:integer/three")
+            .addSimple("android:string/five")
+            .addSimple("android:attr/fun", ResourceId(0x01040000))
+            .addSimple("android:attr/foo", ResourceId(0x01040006))
+            .addSimple("android:attr/bar")
+            .addSimple("android:attr/baz")
+            .addSimple("app:id/biz")
             .setPackageId("android", 0x01)
             .setPackageId("app", 0x7f)
             .build();
@@ -61,35 +61,35 @@
 
     // Expect to fill in the gaps between 0x0101XXXX and 0x0104XXXX.
 
-    maybeResult = table->findResource(test::parseNameOrDie("@android:dimen/two"));
+    maybeResult = table->findResource(test::parseNameOrDie("android:dimen/two"));
     AAPT_ASSERT_TRUE(maybeResult);
     EXPECT_EQ(make_value<uint8_t>(2), maybeResult.value().type->id);
 
-    maybeResult = table->findResource(test::parseNameOrDie("@android:integer/three"));
+    maybeResult = table->findResource(test::parseNameOrDie("android:integer/three"));
     AAPT_ASSERT_TRUE(maybeResult);
     EXPECT_EQ(make_value<uint8_t>(3), maybeResult.value().type->id);
 
     // Expect to bypass the reserved 0x0104XXXX IDs and use the next 0x0105XXXX IDs.
 
-    maybeResult = table->findResource(test::parseNameOrDie("@android:string/five"));
+    maybeResult = table->findResource(test::parseNameOrDie("android:string/five"));
     AAPT_ASSERT_TRUE(maybeResult);
     EXPECT_EQ(make_value<uint8_t>(5), maybeResult.value().type->id);
 
     // Expect to fill in the gaps between 0x01040000 and 0x01040006.
 
-    maybeResult = table->findResource(test::parseNameOrDie("@android:attr/bar"));
+    maybeResult = table->findResource(test::parseNameOrDie("android:attr/bar"));
     AAPT_ASSERT_TRUE(maybeResult);
     EXPECT_EQ(make_value<uint16_t>(1), maybeResult.value().entry->id);
 
-    maybeResult = table->findResource(test::parseNameOrDie("@android:attr/baz"));
+    maybeResult = table->findResource(test::parseNameOrDie("android:attr/baz"));
     AAPT_ASSERT_TRUE(maybeResult);
     EXPECT_EQ(make_value<uint16_t>(2), maybeResult.value().entry->id);
 }
 
 TEST(IdAssignerTest, FailWhenNonUniqueIdsAssigned) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addSimple("@android:attr/foo", ResourceId(0x01040006))
-            .addSimple("@android:attr/bar", ResourceId(0x01040006))
+            .addSimple("android:attr/foo", ResourceId(0x01040006))
+            .addSimple("android:attr/bar", ResourceId(0x01040006))
             .setPackageId("android", 0x01)
             .setPackageId("app", 0x7f)
             .build();
@@ -102,19 +102,19 @@
 
 TEST(IdAssignerTest, AssignIdsWithIdMap) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addSimple("@android:attr/foo")
-            .addSimple("@android:attr/bar")
+            .addSimple("android:attr/foo")
+            .addSimple("android:attr/bar")
             .setPackageId("android", 0x01)
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
     std::unordered_map<ResourceName, ResourceId> idMap = {
-            { test::parseNameOrDie("@android:attr/foo"), ResourceId(0x01010002) } };
+            { test::parseNameOrDie("android:attr/foo"), ResourceId(0x01010002) } };
     IdAssigner assigner(&idMap);
     ASSERT_TRUE(assigner.consume(context.get(), table.get()));
     ASSERT_TRUE(verifyIds(table.get()));
     Maybe<ResourceTable::SearchResult> result = table->findResource(
-            test::parseNameOrDie("@android:attr/foo"));
+            test::parseNameOrDie("android:attr/foo"));
     AAPT_ASSERT_TRUE(result);
 
     const ResourceTable::SearchResult& searchResult = result.value();
diff --git a/tools/aapt2/compile/PseudolocaleGenerator_test.cpp b/tools/aapt2/compile/PseudolocaleGenerator_test.cpp
index 1816abc..1f62f90 100644
--- a/tools/aapt2/compile/PseudolocaleGenerator_test.cpp
+++ b/tools/aapt2/compile/PseudolocaleGenerator_test.cpp
@@ -71,15 +71,16 @@
 
 TEST(PseudolocaleGeneratorTest, PseudolocalizeOnlyDefaultConfigs) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addString("@android:string/one", "one")
-            .addString("@android:string/two", ResourceId{}, test::parseConfigOrDie("en"), "two")
-            .addString("@android:string/three", "three")
-            .addString("@android:string/three", ResourceId{}, test::parseConfigOrDie("en-rXA"),
+            .addString("android:string/one", "one")
+            .addString("android:string/two", ResourceId{}, test::parseConfigOrDie("en"), "two")
+            .addString("android:string/three", "three")
+            .addString("android:string/three", ResourceId{}, test::parseConfigOrDie("en-rXA"),
                        "three")
-            .addString("@android:string/four", "four")
+            .addString("android:string/four", "four")
             .build();
 
-    String* val = test::getValue<String>(table.get(), "@android:string/four");
+    String* val = test::getValue<String>(table.get(), "android:string/four");
+    ASSERT_NE(nullptr, val);
     val->setTranslateable(false);
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
@@ -87,31 +88,31 @@
     ASSERT_TRUE(generator.consume(context.get(), table.get()));
 
     // Normal pseudolocalization should take place.
-    ASSERT_NE(nullptr, test::getValueForConfig<String>(table.get(), "@android:string/one",
+    ASSERT_NE(nullptr, test::getValueForConfig<String>(table.get(), "android:string/one",
                                                        test::parseConfigOrDie("en-rXA")));
-    ASSERT_NE(nullptr, test::getValueForConfig<String>(table.get(), "@android:string/one",
+    ASSERT_NE(nullptr, test::getValueForConfig<String>(table.get(), "android:string/one",
                                                        test::parseConfigOrDie("ar-rXB")));
 
     // No default config for android:string/two, so no pseudlocales should exist.
-    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "@android:string/two",
+    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "android:string/two",
                                                        test::parseConfigOrDie("en-rXA")));
-    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "@android:string/two",
+    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "android:string/two",
                                                        test::parseConfigOrDie("ar-rXB")));
 
 
     // Check that we didn't override manual pseudolocalization.
-    val = test::getValueForConfig<String>(table.get(), "@android:string/three",
+    val = test::getValueForConfig<String>(table.get(), "android:string/three",
                                           test::parseConfigOrDie("en-rXA"));
     ASSERT_NE(nullptr, val);
     EXPECT_EQ(std::string("three"), *val->value);
 
-    ASSERT_NE(nullptr, test::getValueForConfig<String>(table.get(), "@android:string/three",
+    ASSERT_NE(nullptr, test::getValueForConfig<String>(table.get(), "android:string/three",
                                                        test::parseConfigOrDie("ar-rXB")));
 
     // Check that four's translateable marker was honored.
-    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "@android:string/four",
+    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "android:string/four",
                                                        test::parseConfigOrDie("en-rXA")));
-    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "@android:string/four",
+    ASSERT_EQ(nullptr, test::getValueForConfig<String>(table.get(), "android:string/four",
                                                        test::parseConfigOrDie("ar-rXB")));
 
 }
diff --git a/tools/aapt2/compile/XmlIdCollector_test.cpp b/tools/aapt2/compile/XmlIdCollector_test.cpp
index ea1ced3..2c9eab8 100644
--- a/tools/aapt2/compile/XmlIdCollector_test.cpp
+++ b/tools/aapt2/compile/XmlIdCollector_test.cpp
@@ -38,13 +38,13 @@
     ASSERT_TRUE(collector.consume(context.get(), doc.get()));
 
     EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(),
-                             SourcedResourceName{ test::parseNameOrDie("@id/foo"), 3u }));
+                             SourcedResourceName{ test::parseNameOrDie("id/foo"), 3u }));
 
     EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(),
-                             SourcedResourceName{ test::parseNameOrDie("@id/bar"), 3u }));
+                             SourcedResourceName{ test::parseNameOrDie("id/bar"), 3u }));
 
     EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(),
-                             SourcedResourceName{ test::parseNameOrDie("@id/car"), 6u }));
+                             SourcedResourceName{ test::parseNameOrDie("id/car"), 6u }));
 }
 
 TEST(XmlIdCollectorTest, DontCollectNonIds) {
diff --git a/tools/aapt2/flatten/TableFlattener_test.cpp b/tools/aapt2/flatten/TableFlattener_test.cpp
index e720e7e..0b92ba5 100644
--- a/tools/aapt2/flatten/TableFlattener_test.cpp
+++ b/tools/aapt2/flatten/TableFlattener_test.cpp
@@ -132,65 +132,65 @@
 TEST_F(TableFlattenerTest, FlattenFullyLinkedTable) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addSimple("@com.app.test:id/one", ResourceId(0x7f020000))
-            .addSimple("@com.app.test:id/two", ResourceId(0x7f020001))
-            .addValue("@com.app.test:id/three", ResourceId(0x7f020002),
-                      test::buildReference("@com.app.test:id/one", ResourceId(0x7f020000)))
-            .addValue("@com.app.test:integer/one", ResourceId(0x7f030000),
+            .addSimple("com.app.test:id/one", ResourceId(0x7f020000))
+            .addSimple("com.app.test:id/two", ResourceId(0x7f020001))
+            .addValue("com.app.test:id/three", ResourceId(0x7f020002),
+                      test::buildReference("com.app.test:id/one", ResourceId(0x7f020000)))
+            .addValue("com.app.test:integer/one", ResourceId(0x7f030000),
                       util::make_unique<BinaryPrimitive>(uint8_t(Res_value::TYPE_INT_DEC), 1u))
-            .addValue("@com.app.test:integer/one", test::parseConfigOrDie("v1"),
+            .addValue("com.app.test:integer/one", test::parseConfigOrDie("v1"),
                       ResourceId(0x7f030000),
                       util::make_unique<BinaryPrimitive>(uint8_t(Res_value::TYPE_INT_DEC), 2u))
-            .addString("@com.app.test:string/test", ResourceId(0x7f040000), "foo")
-            .addString("@com.app.test:layout/bar", ResourceId(0x7f050000), "res/layout/bar.xml")
+            .addString("com.app.test:string/test", ResourceId(0x7f040000), "foo")
+            .addString("com.app.test:layout/bar", ResourceId(0x7f050000), "res/layout/bar.xml")
             .build();
 
     ResTable resTable;
     ASSERT_TRUE(flatten(table.get(), &resTable));
 
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:id/one", ResourceId(0x7f020000), {},
+    EXPECT_TRUE(exists(&resTable, "com.app.test:id/one", ResourceId(0x7f020000), {},
                        Res_value::TYPE_INT_BOOLEAN, 0u, 0u));
 
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:id/two", ResourceId(0x7f020001), {},
+    EXPECT_TRUE(exists(&resTable, "com.app.test:id/two", ResourceId(0x7f020001), {},
                        Res_value::TYPE_INT_BOOLEAN, 0u, 0u));
 
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:id/three", ResourceId(0x7f020002), {},
+    EXPECT_TRUE(exists(&resTable, "com.app.test:id/three", ResourceId(0x7f020002), {},
                        Res_value::TYPE_REFERENCE, 0x7f020000u, 0u));
 
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:integer/one", ResourceId(0x7f030000),
+    EXPECT_TRUE(exists(&resTable, "com.app.test:integer/one", ResourceId(0x7f030000),
                        {}, Res_value::TYPE_INT_DEC, 1u,
                        ResTable_config::CONFIG_VERSION));
 
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:integer/one", ResourceId(0x7f030000),
+    EXPECT_TRUE(exists(&resTable, "com.app.test:integer/one", ResourceId(0x7f030000),
                        test::parseConfigOrDie("v1"), Res_value::TYPE_INT_DEC, 2u,
                        ResTable_config::CONFIG_VERSION));
 
     std::u16string fooStr = u"foo";
     ssize_t idx = resTable.getTableStringBlock(0)->indexOfString(fooStr.data(), fooStr.size());
     ASSERT_GE(idx, 0);
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:string/test", ResourceId(0x7f040000),
+    EXPECT_TRUE(exists(&resTable, "com.app.test:string/test", ResourceId(0x7f040000),
                        {}, Res_value::TYPE_STRING, (uint32_t) idx, 0u));
 
     std::u16string barPath = u"res/layout/bar.xml";
     idx = resTable.getTableStringBlock(0)->indexOfString(barPath.data(), barPath.size());
     ASSERT_GE(idx, 0);
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:layout/bar", ResourceId(0x7f050000), {},
+    EXPECT_TRUE(exists(&resTable, "com.app.test:layout/bar", ResourceId(0x7f050000), {},
                        Res_value::TYPE_STRING, (uint32_t) idx, 0u));
 }
 
 TEST_F(TableFlattenerTest, FlattenEntriesWithGapsInIds) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addSimple("@com.app.test:id/one", ResourceId(0x7f020001))
-            .addSimple("@com.app.test:id/three", ResourceId(0x7f020003))
+            .addSimple("com.app.test:id/one", ResourceId(0x7f020001))
+            .addSimple("com.app.test:id/three", ResourceId(0x7f020003))
             .build();
 
     ResTable resTable;
     ASSERT_TRUE(flatten(table.get(), &resTable));
 
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:id/one", ResourceId(0x7f020001), {},
+    EXPECT_TRUE(exists(&resTable, "com.app.test:id/one", ResourceId(0x7f020001), {},
                        Res_value::TYPE_INT_BOOLEAN, 0u, 0u));
-    EXPECT_TRUE(exists(&resTable, "@com.app.test:id/three", ResourceId(0x7f020003), {},
+    EXPECT_TRUE(exists(&resTable, "com.app.test:id/three", ResourceId(0x7f020003), {},
                        Res_value::TYPE_INT_BOOLEAN, 0u, 0u));
 }
 
@@ -201,14 +201,14 @@
     attr.maxInt = 23;
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addValue("@android:attr/foo", ResourceId(0x01010000),
+            .addValue("android:attr/foo", ResourceId(0x01010000),
                       util::make_unique<Attribute>(attr))
             .build();
 
     ResourceTable result;
     ASSERT_TRUE(flatten(table.get(), &result));
 
-    Attribute* actualAttr = test::getValue<Attribute>(&result, "@android:attr/foo");
+    Attribute* actualAttr = test::getValue<Attribute>(&result, "android:attr/foo");
     ASSERT_NE(nullptr, actualAttr);
     EXPECT_EQ(attr.isWeak(), actualAttr->isWeak());
     EXPECT_EQ(attr.typeMask, actualAttr->typeMask);
diff --git a/tools/aapt2/flatten/XmlFlattener_test.cpp b/tools/aapt2/flatten/XmlFlattener_test.cpp
index 9efee1e..8b3378f 100644
--- a/tools/aapt2/flatten/XmlFlattener_test.cpp
+++ b/tools/aapt2/flatten/XmlFlattener_test.cpp
@@ -31,12 +31,12 @@
                 .setCompilationPackage("com.app.test")
                 .setNameManglerPolicy(NameManglerPolicy{ "com.app.test" })
                 .addSymbolSource(test::StaticSymbolSourceBuilder()
-                        .addSymbol("@android:attr/id", ResourceId(0x010100d0),
+                        .addSymbol("android:attr/id", ResourceId(0x010100d0),
                                    test::AttributeBuilder().build())
-                        .addSymbol("@com.app.test:id/id", ResourceId(0x7f020000))
-                        .addSymbol("@android:attr/paddingStart", ResourceId(0x010103b3),
+                        .addSymbol("com.app.test:id/id", ResourceId(0x7f020000))
+                        .addSymbol("android:attr/paddingStart", ResourceId(0x010103b3),
                                    test::AttributeBuilder().build())
-                        .addSymbol("@android:attr/colorAccent", ResourceId(0x01010435),
+                        .addSymbol("android:attr/colorAccent", ResourceId(0x01010435),
                                    test::AttributeBuilder().build())
                         .build())
                 .build();
diff --git a/tools/aapt2/java/JavaClassGenerator_test.cpp b/tools/aapt2/java/JavaClassGenerator_test.cpp
index 57a8047..ed7c6bd 100644
--- a/tools/aapt2/java/JavaClassGenerator_test.cpp
+++ b/tools/aapt2/java/JavaClassGenerator_test.cpp
@@ -26,7 +26,7 @@
 TEST(JavaClassGeneratorTest, FailWhenEntryIsJavaKeyword) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addSimple("@android:id/class", ResourceId(0x01020000))
+            .addSimple("android:id/class", ResourceId(0x01020000))
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -42,12 +42,12 @@
 TEST(JavaClassGeneratorTest, TransformInvalidJavaIdentifierCharacter) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addSimple("@android:id/hey-man", ResourceId(0x01020000))
-            .addValue("@android:attr/cool.attr", ResourceId(0x01010000),
+            .addSimple("android:id/hey-man", ResourceId(0x01020000))
+            .addValue("android:attr/cool.attr", ResourceId(0x01010000),
                       test::AttributeBuilder(false).build())
-            .addValue("@android:styleable/hey.dude", ResourceId(0x01030000),
+            .addValue("android:styleable/hey.dude", ResourceId(0x01030000),
                       test::StyleableBuilder()
-                              .addItem("@android:attr/cool.attr", ResourceId(0x01010000))
+                              .addItem("android:attr/cool.attr", ResourceId(0x01010000))
                               .build())
             .build();
 
@@ -75,8 +75,8 @@
 TEST(JavaClassGeneratorTest, CorrectPackageNameIsUsed) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addSimple("@android:id/one", ResourceId(0x01020000))
-            .addSimple("@android:id/com.foo$two", ResourceId(0x01020001))
+            .addSimple("android:id/one", ResourceId(0x01020000))
+            .addSimple("android:id/com.foo$two", ResourceId(0x01020001))
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -97,8 +97,8 @@
 TEST(JavaClassGeneratorTest, AttrPrivateIsWrittenAsAttr) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addSimple("@android:attr/two", ResourceId(0x01010001))
-            .addSimple("@android:^attr-private/one", ResourceId(0x01010000))
+            .addSimple("android:attr/two", ResourceId(0x01010001))
+            .addSimple("android:^attr-private/one", ResourceId(0x01010000))
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -118,11 +118,11 @@
     StdErrDiagnostics diag;
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addSimple("@android:id/one", ResourceId(0x01020000))
-            .addSimple("@android:id/two", ResourceId(0x01020001))
-            .addSimple("@android:id/three", ResourceId(0x01020002))
-            .setSymbolState("@android:id/one", ResourceId(0x01020000), SymbolState::kPublic)
-            .setSymbolState("@android:id/two", ResourceId(0x01020001), SymbolState::kPrivate)
+            .addSimple("android:id/one", ResourceId(0x01020000))
+            .addSimple("android:id/two", ResourceId(0x01020001))
+            .addSimple("android:id/three", ResourceId(0x01020002))
+            .setSymbolState("android:id/one", ResourceId(0x01020000), SymbolState::kPublic)
+            .setSymbolState("android:id/two", ResourceId(0x01020001), SymbolState::kPrivate)
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -200,14 +200,14 @@
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
                 .setPackageId("android", 0x01)
                 .setPackageId("com.lib", 0x02)
-                .addValue("@android:attr/bar", ResourceId(0x01010000),
+                .addValue("android:attr/bar", ResourceId(0x01010000),
                           test::AttributeBuilder(false).build())
-                .addValue("@com.lib:attr/bar", ResourceId(0x02010000),
+                .addValue("com.lib:attr/bar", ResourceId(0x02010000),
                            test::AttributeBuilder(false).build())
-                .addValue("@android:styleable/foo", ResourceId(0x01030000),
+                .addValue("android:styleable/foo", ResourceId(0x01030000),
                           test::StyleableBuilder()
-                                  .addItem("@android:attr/bar", ResourceId(0x01010000))
-                                  .addItem("@com.lib:attr/bar", ResourceId(0x02010000))
+                                  .addItem("android:attr/bar", ResourceId(0x01010000))
+                                  .addItem("com.lib:attr/bar", ResourceId(0x02010000))
                                   .build())
                 .build();
 
@@ -228,9 +228,9 @@
 TEST(JavaClassGeneratorTest, CommentsForSimpleResourcesArePresent) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addSimple("@android:id/foo", ResourceId(0x01010000))
+            .addSimple("android:id/foo", ResourceId(0x01010000))
             .build();
-    test::getValue<Id>(table.get(), "@android:id/foo")
+    test::getValue<Id>(table.get(), "android:id/foo")
             ->setComment(std::string("This is a comment\n@deprecated"));
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -262,13 +262,13 @@
     attr.setComment(StringPiece("This is an attribute"));
 
     Styleable styleable;
-    styleable.entries.push_back(Reference(test::parseNameOrDie("@android:attr/one")));
+    styleable.entries.push_back(Reference(test::parseNameOrDie("android:attr/one")));
     styleable.setComment(StringPiece("This is a styleable"));
 
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addValue("@android:attr/one", util::make_unique<Attribute>(attr))
-            .addValue("@android:styleable/Container",
+            .addValue("android:attr/one", util::make_unique<Attribute>(attr))
+            .addValue("android:styleable/Container",
                       std::unique_ptr<Styleable>(styleable.clone(nullptr)))
             .build();
 
@@ -283,19 +283,19 @@
     ASSERT_TRUE(generator.generate("android", &out));
     std::string actual = out.str();
 
-    EXPECT_NE(std::string::npos, actual.find("@attr name android:one"));
-    EXPECT_NE(std::string::npos, actual.find("@attr description"));
+    EXPECT_NE(std::string::npos, actual.find("attr name android:one"));
+    EXPECT_NE(std::string::npos, actual.find("attr description"));
     EXPECT_NE(std::string::npos, actual.find(attr.getComment().data()));
     EXPECT_NE(std::string::npos, actual.find(styleable.getComment().data()));
 }
 
 TEST(JavaClassGeneratorTest, CommentsForRemovedAttributesAreNotPresentInClass) {
     Attribute attr(false);
-    attr.setComment(StringPiece("@removed"));
+    attr.setComment(StringPiece("removed"));
 
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("android", 0x01)
-            .addValue("@android:attr/one", util::make_unique<Attribute>(attr))
+            .addValue("android:attr/one", util::make_unique<Attribute>(attr))
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -314,9 +314,9 @@
 
     // We should find @removed only in the attribute javadoc and not anywhere else (i.e. the class
     // javadoc).
-    const size_t pos = actual.find("@removed");
+    const size_t pos = actual.find("removed");
     EXPECT_NE(std::string::npos, pos);
-    EXPECT_EQ(std::string::npos, actual.find("@removed", pos + 1));
+    EXPECT_EQ(std::string::npos, actual.find("removed", pos + 1));
 }
 
 } // namespace aapt
diff --git a/tools/aapt2/link/AutoVersioner_test.cpp b/tools/aapt2/link/AutoVersioner_test.cpp
index 7764176..3a61da5 100644
--- a/tools/aapt2/link/AutoVersioner_test.cpp
+++ b/tools/aapt2/link/AutoVersioner_test.cpp
@@ -51,20 +51,20 @@
 TEST(AutoVersionerTest, VersionStylesForTable) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("app", 0x7f)
-            .addValue("@app:style/Foo", test::parseConfigOrDie("v4"), ResourceId(0x7f020000),
+            .addValue("app:style/Foo", test::parseConfigOrDie("v4"), ResourceId(0x7f020000),
                       test::StyleBuilder()
-                            .addItem("@android:attr/onClick", ResourceId(0x0101026f),
+                            .addItem("android:attr/onClick", ResourceId(0x0101026f),
                                      util::make_unique<Id>())
-                            .addItem("@android:attr/paddingStart", ResourceId(0x010103b3),
+                            .addItem("android:attr/paddingStart", ResourceId(0x010103b3),
                                      util::make_unique<Id>())
-                            .addItem("@android:attr/requiresSmallestWidthDp",
+                            .addItem("android:attr/requiresSmallestWidthDp",
                                      ResourceId(0x01010364), util::make_unique<Id>())
-                            .addItem("@android:attr/colorAccent", ResourceId(0x01010435),
+                            .addItem("android:attr/colorAccent", ResourceId(0x01010435),
                                      util::make_unique<Id>())
                             .build())
-            .addValue("@app:style/Foo", test::parseConfigOrDie("v21"), ResourceId(0x7f020000),
+            .addValue("app:style/Foo", test::parseConfigOrDie("v21"), ResourceId(0x7f020000),
                       test::StyleBuilder()
-                            .addItem("@android:attr/paddingEnd", ResourceId(0x010103b4),
+                            .addItem("android:attr/paddingEnd", ResourceId(0x010103b4),
                                      util::make_unique<Id>())
                             .build())
             .build();
@@ -77,46 +77,46 @@
     AutoVersioner versioner;
     ASSERT_TRUE(versioner.consume(context.get(), table.get()));
 
-    Style* style = test::getValueForConfig<Style>(table.get(), "@app:style/Foo",
+    Style* style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
                                                   test::parseConfigOrDie("v4"));
     ASSERT_NE(style, nullptr);
     ASSERT_EQ(style->entries.size(), 1u);
     AAPT_ASSERT_TRUE(style->entries.front().key.name);
     EXPECT_EQ(style->entries.front().key.name.value(),
-              test::parseNameOrDie("@android:attr/onClick"));
+              test::parseNameOrDie("android:attr/onClick"));
 
-    style = test::getValueForConfig<Style>(table.get(), "@app:style/Foo",
+    style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
                                            test::parseConfigOrDie("v13"));
     ASSERT_NE(style, nullptr);
     ASSERT_EQ(style->entries.size(), 2u);
     AAPT_ASSERT_TRUE(style->entries[0].key.name);
     EXPECT_EQ(style->entries[0].key.name.value(),
-              test::parseNameOrDie("@android:attr/onClick"));
+              test::parseNameOrDie("android:attr/onClick"));
     AAPT_ASSERT_TRUE(style->entries[1].key.name);
     EXPECT_EQ(style->entries[1].key.name.value(),
-                  test::parseNameOrDie("@android:attr/requiresSmallestWidthDp"));
+                  test::parseNameOrDie("android:attr/requiresSmallestWidthDp"));
 
-    style = test::getValueForConfig<Style>(table.get(), "@app:style/Foo",
+    style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
                                            test::parseConfigOrDie("v17"));
     ASSERT_NE(style, nullptr);
     ASSERT_EQ(style->entries.size(), 3u);
     AAPT_ASSERT_TRUE(style->entries[0].key.name);
     EXPECT_EQ(style->entries[0].key.name.value(),
-                  test::parseNameOrDie("@android:attr/onClick"));
+                  test::parseNameOrDie("android:attr/onClick"));
     AAPT_ASSERT_TRUE(style->entries[1].key.name);
     EXPECT_EQ(style->entries[1].key.name.value(),
-                  test::parseNameOrDie("@android:attr/requiresSmallestWidthDp"));
+                  test::parseNameOrDie("android:attr/requiresSmallestWidthDp"));
     AAPT_ASSERT_TRUE(style->entries[2].key.name);
     EXPECT_EQ(style->entries[2].key.name.value(),
-                  test::parseNameOrDie("@android:attr/paddingStart"));
+                  test::parseNameOrDie("android:attr/paddingStart"));
 
-    style = test::getValueForConfig<Style>(table.get(), "@app:style/Foo",
+    style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
                                            test::parseConfigOrDie("v21"));
     ASSERT_NE(style, nullptr);
     ASSERT_EQ(style->entries.size(), 1u);
     AAPT_ASSERT_TRUE(style->entries.front().key.name);
     EXPECT_EQ(style->entries.front().key.name.value(),
-              test::parseNameOrDie("@android:attr/paddingEnd"));
+              test::parseNameOrDie("android:attr/paddingEnd"));
 }
 
 } // namespace aapt
diff --git a/tools/aapt2/link/ManifestFixer_test.cpp b/tools/aapt2/link/ManifestFixer_test.cpp
index 6d52c4c..1c69a8c 100644
--- a/tools/aapt2/link/ManifestFixer_test.cpp
+++ b/tools/aapt2/link/ManifestFixer_test.cpp
@@ -31,21 +31,21 @@
                 .setPackageId(0x01)
                 .setNameManglerPolicy(NameManglerPolicy{ "android" })
                 .addSymbolSource(test::StaticSymbolSourceBuilder()
-                        .addSymbol("@android:attr/package", ResourceId(0x01010000),
+                        .addSymbol("android:attr/package", ResourceId(0x01010000),
                                    test::AttributeBuilder()
                                         .setTypeMask(android::ResTable_map::TYPE_STRING)
                                         .build())
-                        .addSymbol("@android:attr/minSdkVersion", ResourceId(0x01010001),
+                        .addSymbol("android:attr/minSdkVersion", ResourceId(0x01010001),
                                    test::AttributeBuilder()
                                         .setTypeMask(android::ResTable_map::TYPE_STRING |
                                                      android::ResTable_map::TYPE_INTEGER)
                                         .build())
-                        .addSymbol("@android:attr/targetSdkVersion", ResourceId(0x01010002),
+                        .addSymbol("android:attr/targetSdkVersion", ResourceId(0x01010002),
                                    test::AttributeBuilder()
                                         .setTypeMask(android::ResTable_map::TYPE_STRING |
                                                      android::ResTable_map::TYPE_INTEGER)
                                         .build())
-                        .addSymbol("@android:string/str", ResourceId(0x01060000))
+                        .addSymbol("android:string/str", ResourceId(0x01060000))
                         .build())
                 .build();
     }
diff --git a/tools/aapt2/link/PrivateAttributeMover_test.cpp b/tools/aapt2/link/PrivateAttributeMover_test.cpp
index 136e10b..c9d1a08 100644
--- a/tools/aapt2/link/PrivateAttributeMover_test.cpp
+++ b/tools/aapt2/link/PrivateAttributeMover_test.cpp
@@ -23,12 +23,12 @@
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
 
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addSimple("@android:attr/publicA")
-            .addSimple("@android:attr/privateA")
-            .addSimple("@android:attr/publicB")
-            .addSimple("@android:attr/privateB")
-            .setSymbolState("@android:attr/publicA", ResourceId(0x01010000), SymbolState::kPublic)
-            .setSymbolState("@android:attr/publicB", ResourceId(0x01010000), SymbolState::kPublic)
+            .addSimple("android:attr/publicA")
+            .addSimple("android:attr/privateA")
+            .addSimple("android:attr/publicB")
+            .addSimple("android:attr/privateB")
+            .setSymbolState("android:attr/publicA", ResourceId(0x01010000), SymbolState::kPublic)
+            .setSymbolState("android:attr/publicB", ResourceId(0x01010000), SymbolState::kPublic)
             .build();
 
     PrivateAttributeMover mover;
@@ -54,8 +54,8 @@
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
 
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addSimple("@android:attr/privateA")
-            .addSimple("@android:attr/privateB")
+            .addSimple("android:attr/privateA")
+            .addSimple("android:attr/privateB")
             .build();
 
     PrivateAttributeMover mover;
diff --git a/tools/aapt2/link/ProductFilter_test.cpp b/tools/aapt2/link/ProductFilter_test.cpp
index 811323b..a3376ac 100644
--- a/tools/aapt2/link/ProductFilter_test.cpp
+++ b/tools/aapt2/link/ProductFilter_test.cpp
@@ -26,23 +26,23 @@
     const ConfigDescription port = test::parseConfigOrDie("port");
 
     ResourceTable table;
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   land, "",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("land/default.xml")).build(),
                                   context->getDiagnostics()));
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   land, "tablet",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("land/tablet.xml")).build(),
                                   context->getDiagnostics()));
 
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   port, "",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("port/default.xml")).build(),
                                   context->getDiagnostics()));
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   port, "tablet",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("port/tablet.xml")).build(),
@@ -51,13 +51,13 @@
     ProductFilter filter({ "tablet" });
     ASSERT_TRUE(filter.consume(context.get(), &table));
 
-    EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/one",
+    EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/one",
                                                              land, ""));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/one",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/one",
                                                              land, "tablet"));
-    EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/one",
+    EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/one",
                                                              port, ""));
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/one",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/one",
                                                              port, "tablet"));
 }
 
@@ -65,12 +65,12 @@
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
 
     ResourceTable table;
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   ConfigDescription::defaultConfig(), "",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("default.xml")).build(),
                                   context->getDiagnostics()));
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   ConfigDescription::defaultConfig(), "tablet",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("tablet.xml")).build(),
@@ -79,10 +79,10 @@
     ProductFilter filter({});
     ASSERT_TRUE(filter.consume(context.get(), &table));
 
-    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/one",
+    EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/one",
                                                              ConfigDescription::defaultConfig(),
                                                              ""));
-    EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(&table, "@android:string/one",
+    EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(&table, "android:string/one",
                                                              ConfigDescription::defaultConfig(),
                                                              "tablet"));
 }
@@ -91,17 +91,17 @@
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
 
     ResourceTable table;
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   ConfigDescription::defaultConfig(), "",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("default.xml")).build(),
                                   context->getDiagnostics()));
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   ConfigDescription::defaultConfig(), "tablet",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("tablet.xml")).build(),
                                   context->getDiagnostics()));
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   ConfigDescription::defaultConfig(), "no-sdcard",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("no-sdcard.xml")).build(),
@@ -115,12 +115,12 @@
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
 
     ResourceTable table;
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   ConfigDescription::defaultConfig(), "",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source(".xml")).build(),
                                   context->getDiagnostics()));
-    ASSERT_TRUE(table.addResource(test::parseNameOrDie("@android:string/one"),
+    ASSERT_TRUE(table.addResource(test::parseNameOrDie("android:string/one"),
                                   ConfigDescription::defaultConfig(), "default",
                                   test::ValueBuilder<Id>()
                                           .setSource(Source("default.xml")).build(),
diff --git a/tools/aapt2/link/ReferenceLinker_test.cpp b/tools/aapt2/link/ReferenceLinker_test.cpp
index 17c2636..5c1511f 100644
--- a/tools/aapt2/link/ReferenceLinker_test.cpp
+++ b/tools/aapt2/link/ReferenceLinker_test.cpp
@@ -24,14 +24,14 @@
 TEST(ReferenceLinkerTest, LinkSimpleReferences) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addReference("@com.app.test:string/foo", ResourceId(0x7f020000),
-                          "@com.app.test:string/bar")
+            .addReference("com.app.test:string/foo", ResourceId(0x7f020000),
+                          "com.app.test:string/bar")
 
             // Test use of local reference (w/o package name).
-            .addReference("@com.app.test:string/bar", ResourceId(0x7f020001), "@string/baz")
+            .addReference("com.app.test:string/bar", ResourceId(0x7f020001), "string/baz")
 
-            .addReference("@com.app.test:string/baz", ResourceId(0x7f020002),
-                          "@android:string/ok")
+            .addReference("com.app.test:string/baz", ResourceId(0x7f020002),
+                          "android:string/ok")
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -40,24 +40,24 @@
             .setNameManglerPolicy(NameManglerPolicy{ "com.app.test" })
             .addSymbolSource(util::make_unique<ResourceTableSymbolSource>(table.get()))
             .addSymbolSource(test::StaticSymbolSourceBuilder()
-                                     .addPublicSymbol("@android:string/ok", ResourceId(0x01040034))
+                                     .addPublicSymbol("android:string/ok", ResourceId(0x01040034))
                                      .build())
             .build();
 
     ReferenceLinker linker;
     ASSERT_TRUE(linker.consume(context.get(), table.get()));
 
-    Reference* ref = test::getValue<Reference>(table.get(), "@com.app.test:string/foo");
+    Reference* ref = test::getValue<Reference>(table.get(), "com.app.test:string/foo");
     ASSERT_NE(ref, nullptr);
     AAPT_ASSERT_TRUE(ref->id);
     EXPECT_EQ(ref->id.value(), ResourceId(0x7f020001));
 
-    ref = test::getValue<Reference>(table.get(), "@com.app.test:string/bar");
+    ref = test::getValue<Reference>(table.get(), "com.app.test:string/bar");
     ASSERT_NE(ref, nullptr);
     AAPT_ASSERT_TRUE(ref->id);
     EXPECT_EQ(ref->id.value(), ResourceId(0x7f020002));
 
-    ref = test::getValue<Reference>(table.get(), "@com.app.test:string/baz");
+    ref = test::getValue<Reference>(table.get(), "com.app.test:string/baz");
     ASSERT_NE(ref, nullptr);
     AAPT_ASSERT_TRUE(ref->id);
     EXPECT_EQ(ref->id.value(), ResourceId(0x01040034));
@@ -66,17 +66,17 @@
 TEST(ReferenceLinkerTest, LinkStyleAttributes) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addValue("@com.app.test:style/Theme", test::StyleBuilder()
-                    .setParent("@android:style/Theme.Material")
-                    .addItem("@android:attr/foo", ResourceUtils::tryParseColor("#ff00ff"))
-                    .addItem("@android:attr/bar", {} /* placeholder */)
+            .addValue("com.app.test:style/Theme", test::StyleBuilder()
+                    .setParent("android:style/Theme.Material")
+                    .addItem("android:attr/foo", ResourceUtils::tryParseColor("#ff00ff"))
+                    .addItem("android:attr/bar", {} /* placeholder */)
                     .build())
             .build();
 
     {
         // We need to fill in the value for the attribute android:attr/bar after we build the
         // table, because we need access to the string pool.
-        Style* style = test::getValue<Style>(table.get(), "@com.app.test:style/Theme");
+        Style* style = test::getValue<Style>(table.get(), "com.app.test:style/Theme");
         ASSERT_NE(style, nullptr);
         style->entries.back().value = util::make_unique<RawString>(
                 table->stringPool.makeRef("one|two"));
@@ -87,13 +87,13 @@
             .setPackageId(0x7f)
             .setNameManglerPolicy(NameManglerPolicy{ "com.app.test" })
             .addSymbolSource(test::StaticSymbolSourceBuilder()
-                                     .addPublicSymbol("@android:style/Theme.Material",
+                                     .addPublicSymbol("android:style/Theme.Material",
                                                       ResourceId(0x01060000))
-                                     .addPublicSymbol("@android:attr/foo", ResourceId(0x01010001),
+                                     .addPublicSymbol("android:attr/foo", ResourceId(0x01010001),
                                                       test::AttributeBuilder()
                                                               .setTypeMask(ResTable_map::TYPE_COLOR)
                                                               .build())
-                                     .addPublicSymbol("@android:attr/bar", ResourceId(0x01010002),
+                                     .addPublicSymbol("android:attr/bar", ResourceId(0x01010002),
                                                       test::AttributeBuilder()
                                                               .setTypeMask(ResTable_map::TYPE_FLAGS)
                                                               .addItem("one", 0x01)
@@ -105,7 +105,7 @@
     ReferenceLinker linker;
     ASSERT_TRUE(linker.consume(context.get(), table.get()));
 
-    Style* style = test::getValue<Style>(table.get(), "@com.app.test:style/Theme");
+    Style* style = test::getValue<Style>(table.get(), "com.app.test:style/Theme");
     ASSERT_NE(style, nullptr);
     AAPT_ASSERT_TRUE(style->parent);
     AAPT_ASSERT_TRUE(style->parent.value().id);
@@ -128,7 +128,7 @@
             .setPackageId(0x7f)
             .setNameManglerPolicy(NameManglerPolicy{ "com.app.test", { "com.android.support" } })
             .addSymbolSource(test::StaticSymbolSourceBuilder()
-                                     .addPublicSymbol("@com.app.test:attr/com.android.support$foo",
+                                     .addPublicSymbol("com.app.test:attr/com.android.support$foo",
                                                       ResourceId(0x7f010000),
                                                       test::AttributeBuilder()
                                                               .setTypeMask(ResTable_map::TYPE_COLOR)
@@ -138,8 +138,8 @@
 
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addValue("@com.app.test:style/Theme", ResourceId(0x7f020000),
-                      test::StyleBuilder().addItem("@com.android.support:attr/foo",
+            .addValue("com.app.test:style/Theme", ResourceId(0x7f020000),
+                      test::StyleBuilder().addItem("com.android.support:attr/foo",
                                                    ResourceUtils::tryParseColor("#ff0000"))
                                           .build())
             .build();
@@ -147,7 +147,7 @@
     ReferenceLinker linker;
     ASSERT_TRUE(linker.consume(context.get(), table.get()));
 
-    Style* style = test::getValue<Style>(table.get(), "@com.app.test:style/Theme");
+    Style* style = test::getValue<Style>(table.get(), "com.app.test:style/Theme");
     ASSERT_NE(style, nullptr);
     ASSERT_EQ(1u, style->entries.size());
     AAPT_ASSERT_TRUE(style->entries.front().key.id);
@@ -157,8 +157,8 @@
 TEST(ReferenceLinkerTest, FailToLinkPrivateSymbols) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addReference("@com.app.test:string/foo", ResourceId(0x7f020000),
-                          "@android:string/hidden")
+            .addReference("com.app.test:string/foo", ResourceId(0x7f020000),
+                          "android:string/hidden")
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -167,7 +167,7 @@
             .setNameManglerPolicy(NameManglerPolicy{ "com.app.test" })
             .addSymbolSource(util::make_unique<ResourceTableSymbolSource>(table.get()))
             .addSymbolSource(test::StaticSymbolSourceBuilder()
-                                     .addSymbol("@android:string/hidden", ResourceId(0x01040034))
+                                     .addSymbol("android:string/hidden", ResourceId(0x01040034))
                                      .build())
             .build();
 
@@ -178,8 +178,8 @@
 TEST(ReferenceLinkerTest, FailToLinkPrivateMangledSymbols) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addReference("@com.app.test:string/foo", ResourceId(0x7f020000),
-                          "@com.app.lib:string/hidden")
+            .addReference("com.app.test:string/foo", ResourceId(0x7f020000),
+                          "com.app.lib:string/hidden")
             .build();
 
     std::unique_ptr<IAaptContext> context = test::ContextBuilder()
@@ -188,7 +188,7 @@
             .setNameManglerPolicy(NameManglerPolicy{ "com.app.test", { "com.app.lib" } })
             .addSymbolSource(util::make_unique<ResourceTableSymbolSource>(table.get()))
             .addSymbolSource(test::StaticSymbolSourceBuilder()
-                                     .addSymbol("@com.app.test:string/com.app.lib$hidden",
+                                     .addSymbol("com.app.test:string/com.app.lib$hidden",
                                                 ResourceId(0x7f040034))
                                      .build())
 
@@ -201,8 +201,8 @@
 TEST(ReferenceLinkerTest, FailToLinkPrivateStyleAttributes) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.test", 0x7f)
-            .addValue("@com.app.test:style/Theme", test::StyleBuilder()
-                    .addItem("@android:attr/hidden", ResourceUtils::tryParseColor("#ff00ff"))
+            .addValue("com.app.test:style/Theme", test::StyleBuilder()
+                    .addItem("android:attr/hidden", ResourceUtils::tryParseColor("#ff00ff"))
                     .build())
             .build();
 
@@ -212,7 +212,7 @@
             .setNameManglerPolicy(NameManglerPolicy{ "com.app.test" })
             .addSymbolSource(util::make_unique<ResourceTableSymbolSource>(table.get()))
             .addSymbolSource(test::StaticSymbolSourceBuilder()
-                                     .addSymbol("@android:attr/hidden", ResourceId(0x01010001),
+                                     .addSymbol("android:attr/hidden", ResourceId(0x01010001),
                                                 test::AttributeBuilder()
                                                         .setTypeMask(
                                                                 android::ResTable_map::TYPE_COLOR)
diff --git a/tools/aapt2/link/TableMerger_test.cpp b/tools/aapt2/link/TableMerger_test.cpp
index 1697217..300b56d 100644
--- a/tools/aapt2/link/TableMerger_test.cpp
+++ b/tools/aapt2/link/TableMerger_test.cpp
@@ -45,16 +45,16 @@
 TEST_F(TableMergerTest, SimpleMerge) {
     std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
             .setPackageId("com.app.a", 0x7f)
-            .addReference("@com.app.a:id/foo", "@com.app.a:id/bar")
-            .addReference("@com.app.a:id/bar", "@com.app.b:id/foo")
-            .addValue("@com.app.a:styleable/view", test::StyleableBuilder()
-                    .addItem("@com.app.b:id/foo")
+            .addReference("com.app.a:id/foo", "com.app.a:id/bar")
+            .addReference("com.app.a:id/bar", "com.app.b:id/foo")
+            .addValue("com.app.a:styleable/view", test::StyleableBuilder()
+                    .addItem("com.app.b:id/foo")
                     .build())
             .build();
 
     std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
             .setPackageId("com.app.b", 0x7f)
-            .addSimple("@com.app.b:id/foo")
+            .addSimple("com.app.b:id/foo")
             .build();
 
     ResourceTable finalTable;
@@ -67,15 +67,15 @@
     EXPECT_TRUE(merger.getMergedPackages().count("com.app.b") != 0);
 
     // Entries from com.app.a should not be mangled.
-    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:id/foo")));
-    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:id/bar")));
-    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:styleable/view")));
+    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("com.app.a:id/foo")));
+    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("com.app.a:id/bar")));
+    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("com.app.a:styleable/view")));
 
     // The unmangled name should not be present.
-    AAPT_EXPECT_FALSE(finalTable.findResource(test::parseNameOrDie("@com.app.b:id/foo")));
+    AAPT_EXPECT_FALSE(finalTable.findResource(test::parseNameOrDie("com.app.b:id/foo")));
 
     // Look for the mangled name.
-    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:id/com.app.b$foo")));
+    AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("com.app.a:id/com.app.b$foo")));
 }
 
 TEST_F(TableMergerTest, MergeFile) {
@@ -86,14 +86,14 @@
 
     ResourceFile fileDesc;
     fileDesc.config = test::parseConfigOrDie("hdpi-v4");
-    fileDesc.name = test::parseNameOrDie("@layout/main");
+    fileDesc.name = test::parseNameOrDie("layout/main");
     fileDesc.source = Source("res/layout-hdpi/main.xml");
     test::TestFile testFile("path/to/res/layout-hdpi/main.xml.flat");
 
     ASSERT_TRUE(merger.mergeFile(fileDesc, &testFile));
 
     FileReference* file = test::getValueForConfig<FileReference>(&finalTable,
-                                                                 "@com.app.a:layout/main",
+                                                                 "com.app.a:layout/main",
                                                                  test::parseConfigOrDie("hdpi-v4"));
     ASSERT_NE(nullptr, file);
     EXPECT_EQ(std::string("res/layout-hdpi-v4/main.xml"), *file->path);
@@ -106,7 +106,7 @@
     TableMerger merger(mContext.get(), &finalTable, tableMergerOptions);
 
     ResourceFile fileDesc;
-    fileDesc.name = test::parseNameOrDie("@xml/foo");
+    fileDesc.name = test::parseNameOrDie("xml/foo");
     test::TestFile fileA("path/to/fileA.xml.flat");
     test::TestFile fileB("path/to/fileB.xml.flat");
 
@@ -117,11 +117,11 @@
 TEST_F(TableMergerTest, MergeFileReferences) {
     std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
             .setPackageId("com.app.a", 0x7f)
-            .addFileReference("@com.app.a:xml/file", "res/xml/file.xml")
+            .addFileReference("com.app.a:xml/file", "res/xml/file.xml")
             .build();
     std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
             .setPackageId("com.app.b", 0x7f)
-            .addFileReference("@com.app.b:xml/file", "res/xml/file.xml")
+            .addFileReference("com.app.b:xml/file", "res/xml/file.xml")
             .build();
 
     ResourceTable finalTable;
@@ -132,11 +132,11 @@
     ASSERT_TRUE(merger.merge({}, tableA.get()));
     ASSERT_TRUE(merger.mergeAndMangle({}, "com.app.b", tableB.get(), &collection));
 
-    FileReference* f = test::getValue<FileReference>(&finalTable, "@com.app.a:xml/file");
+    FileReference* f = test::getValue<FileReference>(&finalTable, "com.app.a:xml/file");
     ASSERT_NE(f, nullptr);
     EXPECT_EQ(std::string("res/xml/file.xml"), *f->path);
 
-    f = test::getValue<FileReference>(&finalTable, "@com.app.a:xml/com.app.b$file");
+    f = test::getValue<FileReference>(&finalTable, "com.app.a:xml/com.app.b$file");
     ASSERT_NE(f, nullptr);
     EXPECT_EQ(std::string("res/xml/com.app.b$file.xml"), *f->path);
 }
@@ -144,11 +144,11 @@
 TEST_F(TableMergerTest, OverrideResourceWithOverlay) {
     std::unique_ptr<ResourceTable> base = test::ResourceTableBuilder()
             .setPackageId("", 0x00)
-            .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
+            .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
             .build();
     std::unique_ptr<ResourceTable> overlay = test::ResourceTableBuilder()
             .setPackageId("", 0x00)
-            .addValue("@bool/foo", ResourceUtils::tryParseBool("false"))
+            .addValue("bool/foo", ResourceUtils::tryParseBool("false"))
             .build();
 
     ResourceTable finalTable;
@@ -159,7 +159,7 @@
     ASSERT_TRUE(merger.merge({}, base.get()));
     ASSERT_TRUE(merger.mergeOverlay({}, overlay.get()));
 
-    BinaryPrimitive* foo = test::getValue<BinaryPrimitive>(&finalTable, "@com.app.a:bool/foo");
+    BinaryPrimitive* foo = test::getValue<BinaryPrimitive>(&finalTable, "com.app.a:bool/foo");
     ASSERT_NE(nullptr, foo);
     EXPECT_EQ(0x0u, foo->value.data);
 }
@@ -167,11 +167,11 @@
 TEST_F(TableMergerTest, MergeAddResourceFromOverlay) {
     std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
             .setPackageId("", 0x7f)
-            .setSymbolState("@bool/foo", {}, SymbolState::kUndefined)
+            .setSymbolState("bool/foo", {}, SymbolState::kUndefined)
             .build();
     std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
             .setPackageId("", 0x7f)
-            .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
+            .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
             .build();
 
     ResourceTable finalTable;
@@ -187,7 +187,7 @@
             .build();
     std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
             .setPackageId("", 0x7f)
-            .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
+            .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
             .build();
 
     ResourceTable finalTable;
@@ -205,7 +205,7 @@
             .build();
     std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
             .setPackageId("", 0x7f)
-            .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
+            .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
             .build();
 
     ResourceTable finalTable;
diff --git a/tools/aapt2/link/XmlReferenceLinker_test.cpp b/tools/aapt2/link/XmlReferenceLinker_test.cpp
index d48de42..51eb62c 100644
--- a/tools/aapt2/link/XmlReferenceLinker_test.cpp
+++ b/tools/aapt2/link/XmlReferenceLinker_test.cpp
@@ -27,40 +27,40 @@
                 .setNameManglerPolicy(
                         NameManglerPolicy{ "com.app.test", { "com.android.support" } })
                 .addSymbolSource(test::StaticSymbolSourceBuilder()
-                        .addPublicSymbol("@android:attr/layout_width", ResourceId(0x01010000),
+                        .addPublicSymbol("android:attr/layout_width", ResourceId(0x01010000),
                                    test::AttributeBuilder()
                                         .setTypeMask(android::ResTable_map::TYPE_ENUM |
                                                      android::ResTable_map::TYPE_DIMENSION)
                                         .addItem("match_parent", 0xffffffff)
                                         .build())
-                        .addPublicSymbol("@android:attr/background", ResourceId(0x01010001),
+                        .addPublicSymbol("android:attr/background", ResourceId(0x01010001),
                                    test::AttributeBuilder()
                                         .setTypeMask(android::ResTable_map::TYPE_COLOR).build())
-                        .addPublicSymbol("@android:attr/attr", ResourceId(0x01010002),
+                        .addPublicSymbol("android:attr/attr", ResourceId(0x01010002),
                                    test::AttributeBuilder().build())
-                        .addPublicSymbol("@android:attr/text", ResourceId(0x01010003),
+                        .addPublicSymbol("android:attr/text", ResourceId(0x01010003),
                                    test::AttributeBuilder()
                                         .setTypeMask(android::ResTable_map::TYPE_STRING)
                                         .build())
 
                          // Add one real symbol that was introduces in v21
-                        .addPublicSymbol("@android:attr/colorAccent", ResourceId(0x01010435),
+                        .addPublicSymbol("android:attr/colorAccent", ResourceId(0x01010435),
                                    test::AttributeBuilder().build())
 
                         // Private symbol.
-                        .addSymbol("@android:color/hidden", ResourceId(0x01020001))
+                        .addSymbol("android:color/hidden", ResourceId(0x01020001))
 
-                        .addPublicSymbol("@android:id/id", ResourceId(0x01030000))
-                        .addSymbol("@com.app.test:id/id", ResourceId(0x7f030000))
-                        .addSymbol("@com.app.test:color/green", ResourceId(0x7f020000))
-                        .addSymbol("@com.app.test:color/red", ResourceId(0x7f020001))
-                        .addSymbol("@com.app.test:attr/colorAccent", ResourceId(0x7f010000),
+                        .addPublicSymbol("android:id/id", ResourceId(0x01030000))
+                        .addSymbol("com.app.test:id/id", ResourceId(0x7f030000))
+                        .addSymbol("com.app.test:color/green", ResourceId(0x7f020000))
+                        .addSymbol("com.app.test:color/red", ResourceId(0x7f020001))
+                        .addSymbol("com.app.test:attr/colorAccent", ResourceId(0x7f010000),
                                    test::AttributeBuilder()
                                        .setTypeMask(android::ResTable_map::TYPE_COLOR).build())
-                        .addPublicSymbol("@com.app.test:attr/com.android.support$colorAccent",
+                        .addPublicSymbol("com.app.test:attr/com.android.support$colorAccent",
                                    ResourceId(0x7f010001), test::AttributeBuilder()
                                        .setTypeMask(android::ResTable_map::TYPE_COLOR).build())
-                        .addPublicSymbol("@com.app.test:attr/attr", ResourceId(0x7f010002),
+                        .addPublicSymbol("com.app.test:attr/attr", ResourceId(0x7f010002),
                                    test::AttributeBuilder().build())
                         .build())
                 .build();
@@ -101,7 +101,7 @@
     Reference* ref = valueCast<Reference>(xmlAttr->compiledValue.get());
     ASSERT_NE(ref, nullptr);
     AAPT_ASSERT_TRUE(ref->name);
-    EXPECT_EQ(ref->name.value(), test::parseNameOrDie("@color/green")); // Make sure the name
+    EXPECT_EQ(ref->name.value(), test::parseNameOrDie("color/green")); // Make sure the name
                                                                         // didn't change.
     AAPT_ASSERT_TRUE(ref->id);
     EXPECT_EQ(ref->id.value(), ResourceId(0x7f020000));
diff --git a/tools/aapt2/process/SymbolTable_test.cpp b/tools/aapt2/process/SymbolTable_test.cpp
index 6866974..1626352 100644
--- a/tools/aapt2/process/SymbolTable_test.cpp
+++ b/tools/aapt2/process/SymbolTable_test.cpp
@@ -21,31 +21,31 @@
 
 TEST(ResourceTableSymbolSourceTest, FindSymbols) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addSimple("@android:id/foo", ResourceId(0x01020000))
-            .addSimple("@android:id/bar")
-            .addValue("@android:attr/foo", ResourceId(0x01010000),
+            .addSimple("android:id/foo", ResourceId(0x01020000))
+            .addSimple("android:id/bar")
+            .addValue("android:attr/foo", ResourceId(0x01010000),
                       test::AttributeBuilder().build())
             .build();
 
     ResourceTableSymbolSource symbolSource(table.get());
-    EXPECT_NE(nullptr, symbolSource.findByName(test::parseNameOrDie("@android:id/foo")));
-    EXPECT_NE(nullptr, symbolSource.findByName(test::parseNameOrDie("@android:id/bar")));
+    EXPECT_NE(nullptr, symbolSource.findByName(test::parseNameOrDie("android:id/foo")));
+    EXPECT_NE(nullptr, symbolSource.findByName(test::parseNameOrDie("android:id/bar")));
 
     std::unique_ptr<SymbolTable::Symbol> s = symbolSource.findByName(
-            test::parseNameOrDie("@android:attr/foo"));
+            test::parseNameOrDie("android:attr/foo"));
     ASSERT_NE(nullptr, s);
     EXPECT_NE(nullptr, s->attribute);
 }
 
 TEST(ResourceTableSymbolSourceTest, FindPrivateAttrSymbol) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addValue("@android:^attr-private/foo", ResourceId(0x01010000),
+            .addValue("android:^attr-private/foo", ResourceId(0x01010000),
                       test::AttributeBuilder().build())
             .build();
 
     ResourceTableSymbolSource symbolSource(table.get());
     std::unique_ptr<SymbolTable::Symbol> s = symbolSource.findByName(
-                test::parseNameOrDie("@android:attr/foo"));
+                test::parseNameOrDie("android:attr/foo"));
     ASSERT_NE(nullptr, s);
     EXPECT_NE(nullptr, s->attribute);
 }
diff --git a/tools/aapt2/proto/TableProtoSerializer_test.cpp b/tools/aapt2/proto/TableProtoSerializer_test.cpp
index 78b32f7..af1b011 100644
--- a/tools/aapt2/proto/TableProtoSerializer_test.cpp
+++ b/tools/aapt2/proto/TableProtoSerializer_test.cpp
@@ -24,36 +24,36 @@
     std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
             .setPackageId("com.app.a", 0x7f)
-            .addFileReference("@com.app.a:layout/main", ResourceId(0x7f020000),
+            .addFileReference("com.app.a:layout/main", ResourceId(0x7f020000),
                               "res/layout/main.xml")
-            .addReference("@com.app.a:layout/other", ResourceId(0x7f020001),
-                          "@com.app.a:layout/main")
-            .addString("@com.app.a:string/text", {}, "hi")
-            .addValue("@com.app.a:id/foo", {}, util::make_unique<Id>())
+            .addReference("com.app.a:layout/other", ResourceId(0x7f020001),
+                          "com.app.a:layout/main")
+            .addString("com.app.a:string/text", {}, "hi")
+            .addValue("com.app.a:id/foo", {}, util::make_unique<Id>())
             .build();
 
     Symbol publicSymbol;
     publicSymbol.state = SymbolState::kPublic;
-    ASSERT_TRUE(table->setSymbolState(test::parseNameOrDie("@com.app.a:layout/main"),
+    ASSERT_TRUE(table->setSymbolState(test::parseNameOrDie("com.app.a:layout/main"),
                                       ResourceId(0x7f020000),
                                       publicSymbol, context->getDiagnostics()));
 
-    Id* id = test::getValue<Id>(table.get(), "@com.app.a:id/foo");
+    Id* id = test::getValue<Id>(table.get(), "com.app.a:id/foo");
     ASSERT_NE(nullptr, id);
 
     // Make a plural.
     std::unique_ptr<Plural> plural = util::make_unique<Plural>();
     plural->values[Plural::One] = util::make_unique<String>(table->stringPool.makeRef("one"));
-    ASSERT_TRUE(table->addResource(test::parseNameOrDie("@com.app.a:plurals/hey"),
+    ASSERT_TRUE(table->addResource(test::parseNameOrDie("com.app.a:plurals/hey"),
                                    ConfigDescription{}, {}, std::move(plural),
                                    context->getDiagnostics()));
 
     // Make a resource with different products.
-    ASSERT_TRUE(table->addResource(test::parseNameOrDie("@com.app.a:integer/one"),
+    ASSERT_TRUE(table->addResource(test::parseNameOrDie("com.app.a:integer/one"),
                                    test::parseConfigOrDie("land"), {},
                                    test::buildPrimitive(android::Res_value::TYPE_INT_DEC, 123u),
                                    context->getDiagnostics()));
-    ASSERT_TRUE(table->addResource(test::parseNameOrDie("@com.app.a:integer/one"),
+    ASSERT_TRUE(table->addResource(test::parseNameOrDie("com.app.a:integer/one"),
                                        test::parseConfigOrDie("land"), "tablet",
                                        test::buildPrimitive(android::Res_value::TYPE_INT_DEC, 321u),
                                        context->getDiagnostics()));
@@ -62,9 +62,9 @@
     // The reference should point to a resource outside of this table to test that both
     // name and id get serialized.
     Reference expectedRef;
-    expectedRef.name = test::parseNameOrDie("@android:layout/main");
+    expectedRef.name = test::parseNameOrDie("android:layout/main");
     expectedRef.id = ResourceId(0x01020000);
-    ASSERT_TRUE(table->addResource(test::parseNameOrDie("@com.app.a:layout/abc"),
+    ASSERT_TRUE(table->addResource(test::parseNameOrDie("com.app.a:layout/abc"),
                                    ConfigDescription::defaultConfig(), {},
                                    util::make_unique<Reference>(expectedRef),
                                    context->getDiagnostics()));
@@ -77,28 +77,28 @@
                                                                      context->getDiagnostics());
     ASSERT_NE(nullptr, newTable);
 
-    Id* newId = test::getValue<Id>(newTable.get(), "@com.app.a:id/foo");
+    Id* newId = test::getValue<Id>(newTable.get(), "com.app.a:id/foo");
     ASSERT_NE(nullptr, newId);
     EXPECT_EQ(id->isWeak(), newId->isWeak());
 
     Maybe<ResourceTable::SearchResult> result = newTable->findResource(
-            test::parseNameOrDie("@com.app.a:layout/main"));
+            test::parseNameOrDie("com.app.a:layout/main"));
     AAPT_ASSERT_TRUE(result);
     EXPECT_EQ(SymbolState::kPublic, result.value().type->symbolStatus.state);
     EXPECT_EQ(SymbolState::kPublic, result.value().entry->symbolStatus.state);
 
     // Find the product-dependent values
     BinaryPrimitive* prim = test::getValueForConfigAndProduct<BinaryPrimitive>(
-            newTable.get(), "@com.app.a:integer/one", test::parseConfigOrDie("land"), "");
+            newTable.get(), "com.app.a:integer/one", test::parseConfigOrDie("land"), "");
     ASSERT_NE(nullptr, prim);
     EXPECT_EQ(123u, prim->value.data);
 
     prim = test::getValueForConfigAndProduct<BinaryPrimitive>(
-            newTable.get(), "@com.app.a:integer/one", test::parseConfigOrDie("land"), "tablet");
+            newTable.get(), "com.app.a:integer/one", test::parseConfigOrDie("land"), "tablet");
     ASSERT_NE(nullptr, prim);
     EXPECT_EQ(321u, prim->value.data);
 
-    Reference* actualRef = test::getValue<Reference>(newTable.get(), "@com.app.a:layout/abc");
+    Reference* actualRef = test::getValue<Reference>(newTable.get(), "com.app.a:layout/abc");
     ASSERT_NE(nullptr, actualRef);
     AAPT_ASSERT_TRUE(actualRef->name);
     AAPT_ASSERT_TRUE(actualRef->id);
@@ -111,9 +111,9 @@
 
     ResourceFile f;
     f.config = test::parseConfigOrDie("hdpi-v9");
-    f.name = test::parseNameOrDie("@com.app.a:layout/main");
+    f.name = test::parseNameOrDie("com.app.a:layout/main");
     f.source.path = "res/layout-hdpi-v9/main.xml";
-    f.exportedSymbols.push_back(SourcedResourceName{ test::parseNameOrDie("@+id/unchecked"), 23u });
+    f.exportedSymbols.push_back(SourcedResourceName{ test::parseNameOrDie("id/unchecked"), 23u });
 
     const std::string expectedData = "1234";
 
@@ -141,7 +141,7 @@
     EXPECT_EQ(0u, reinterpret_cast<uintptr_t>(inFileStream.data()) & 0x03);
 
     ASSERT_EQ(1u, file->exportedSymbols.size());
-    EXPECT_EQ(test::parseNameOrDie("@+id/unchecked"), file->exportedSymbols[0].name);
+    EXPECT_EQ(test::parseNameOrDie("id/unchecked"), file->exportedSymbols[0].name);
 }
 
 TEST(TableProtoSerializer, DeserializeCorruptHeaderSafely) {
diff --git a/tools/aapt2/split/TableSplitter_test.cpp b/tools/aapt2/split/TableSplitter_test.cpp
index a6dfd62..bad02a5 100644
--- a/tools/aapt2/split/TableSplitter_test.cpp
+++ b/tools/aapt2/split/TableSplitter_test.cpp
@@ -21,15 +21,15 @@
 
 TEST(TableSplitterTest, NoSplitPreferredDensity) {
     std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-            .addFileReference("@android:drawable/icon", "res/drawable-mdpi/icon.png",
+            .addFileReference("android:drawable/icon", "res/drawable-mdpi/icon.png",
                               test::parseConfigOrDie("mdpi"))
-            .addFileReference("@android:drawable/icon", "res/drawable-hdpi/icon.png",
+            .addFileReference("android:drawable/icon", "res/drawable-hdpi/icon.png",
                               test::parseConfigOrDie("hdpi"))
-            .addFileReference("@android:drawable/icon", "res/drawable-xhdpi/icon.png",
+            .addFileReference("android:drawable/icon", "res/drawable-xhdpi/icon.png",
                               test::parseConfigOrDie("xhdpi"))
-            .addFileReference("@android:drawable/icon", "res/drawable-xxhdpi/icon.png",
+            .addFileReference("android:drawable/icon", "res/drawable-xxhdpi/icon.png",
                               test::parseConfigOrDie("xxhdpi"))
-            .addSimple("@android:string/one")
+            .addSimple("android:string/one")
             .build();
 
     TableSplitterOptions options;
@@ -38,24 +38,24 @@
     splitter.splitTable(table.get());
 
     EXPECT_EQ(nullptr, test::getValueForConfig<FileReference>(table.get(),
-                                                              "@android:drawable/icon",
+                                                              "android:drawable/icon",
                                                               test::parseConfigOrDie("mdpi")));
     EXPECT_EQ(nullptr, test::getValueForConfig<FileReference>(table.get(),
-                                                              "@android:drawable/icon",
+                                                              "android:drawable/icon",
                                                               test::parseConfigOrDie("hdpi")));
     EXPECT_NE(nullptr, test::getValueForConfig<FileReference>(table.get(),
-                                                              "@android:drawable/icon",
+                                                              "android:drawable/icon",
                                                               test::parseConfigOrDie("xhdpi")));
     EXPECT_EQ(nullptr, test::getValueForConfig<FileReference>(table.get(),
-                                                              "@android:drawable/icon",
+                                                              "android:drawable/icon",
                                                               test::parseConfigOrDie("xxhdpi")));
-    EXPECT_NE(nullptr, test::getValue<Id>(table.get(), "@android:string/one"));
+    EXPECT_NE(nullptr, test::getValue<Id>(table.get(), "android:string/one"));
 }
 
 TEST(TableSplitterTest, SplitTableByConfigAndDensity) {
     ResourceTable table;
 
-    const ResourceName foo = test::parseNameOrDie("@android:string/foo");
+    const ResourceName foo = test::parseNameOrDie("android:string/foo");
     ASSERT_TRUE(table.addResource(foo, test::parseConfigOrDie("land-hdpi"), {},
                                   util::make_unique<Id>(),
                                   test::getDiagnostics()));
@@ -79,25 +79,25 @@
     ResourceTable* splitTwo = splitter.getSplits()[1].get();
 
     // Since a split was defined, all densities should be gone from base.
-    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(&table, "@android:string/foo",
+    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(&table, "android:string/foo",
                                                    test::parseConfigOrDie("land-hdpi")));
-    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(&table, "@android:string/foo",
+    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(&table, "android:string/foo",
                                                    test::parseConfigOrDie("land-xhdpi")));
-    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(&table, "@android:string/foo",
+    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(&table, "android:string/foo",
                                                    test::parseConfigOrDie("land-xxhdpi")));
 
-    EXPECT_NE(nullptr, test::getValueForConfig<Id>(splitOne, "@android:string/foo",
+    EXPECT_NE(nullptr, test::getValueForConfig<Id>(splitOne, "android:string/foo",
                                                    test::parseConfigOrDie("land-hdpi")));
-    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitOne, "@android:string/foo",
+    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitOne, "android:string/foo",
                                                    test::parseConfigOrDie("land-xhdpi")));
-    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitOne, "@android:string/foo",
+    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitOne, "android:string/foo",
                                                    test::parseConfigOrDie("land-xxhdpi")));
 
-    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitTwo, "@android:string/foo",
+    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitTwo, "android:string/foo",
                                                    test::parseConfigOrDie("land-hdpi")));
-    EXPECT_NE(nullptr, test::getValueForConfig<Id>(splitTwo, "@android:string/foo",
+    EXPECT_NE(nullptr, test::getValueForConfig<Id>(splitTwo, "android:string/foo",
                                                    test::parseConfigOrDie("land-xhdpi")));
-    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitTwo, "@android:string/foo",
+    EXPECT_EQ(nullptr, test::getValueForConfig<Id>(splitTwo, "android:string/foo",
                                                    test::parseConfigOrDie("land-xxhdpi")));
 }
 
diff --git a/tools/aapt2/test/Common.h b/tools/aapt2/test/Common.h
index b2eaba6..624a71a 100644
--- a/tools/aapt2/test/Common.h
+++ b/tools/aapt2/test/Common.h
@@ -64,7 +64,7 @@
 
 inline ResourceName parseNameOrDie(const StringPiece& str) {
     ResourceNameRef ref;
-    bool result = ResourceUtils::tryParseReference(str, &ref);
+    bool result = ResourceUtils::parseResourceName(str, &ref);
     assert(result && "invalid resource name");
     return ref.toResourceName();
 }