diff --git a/tools/aapt2/java/ProguardRules.cpp b/tools/aapt2/java/ProguardRules.cpp index b939f354e89f2..4a2d0aea82d51 100644 --- a/tools/aapt2/java/ProguardRules.cpp +++ b/tools/aapt2/java/ProguardRules.cpp @@ -311,7 +311,7 @@ class ManifestVisitor : public BaseVisitor { component_process ? component_process->value : default_process_; get_name = !process.empty() && process[0] != ':'; } - } else if (node->name == "instrumentation") { + } else if (node->name == "instrumentation" || node->name == "process") { get_name = true; } diff --git a/tools/aapt2/java/ProguardRules_test.cpp b/tools/aapt2/java/ProguardRules_test.cpp index e1040666e4104..466b7d97da007 100644 --- a/tools/aapt2/java/ProguardRules_test.cpp +++ b/tools/aapt2/java/ProguardRules_test.cpp @@ -44,6 +44,9 @@ TEST(ProguardRulesTest, ManifestRuleDefaultConstructorOnly) { android:name="com.foo.BarApplication" android:zygotePreloadName="com.foo.BarZygotePreload" > + + + @@ -59,6 +62,7 @@ TEST(ProguardRulesTest, ManifestRuleDefaultConstructorOnly) { EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarAppComponentFactory { (); }")); EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarBackupAgent { (); }")); EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarApplication { (); }")); + EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BazApplication { (); }")); EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarActivity { (); }")); EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarService { (); }")); EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarReceiver { (); }"));