Loading tools/aapt2/link/ManifestFixer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -367,6 +367,7 @@ bool ManifestFixer::BuildRules(xml::XmlActionExecutor* executor, application_action["uses-library"].Action(RequiredNameIsNotEmpty); application_action["library"].Action(RequiredNameIsNotEmpty); application_action["profileable"]; xml::XmlNodeAction& static_library_action = application_action["static-library"]; static_library_action.Action(RequiredNameIsJavaPackage); Loading tools/aapt2/link/ManifestFixer_test.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -671,6 +671,24 @@ TEST_F(ManifestFixerTest, ApplicationInjectDebuggable) { {}, "application", xml::kSchemaAndroid, "debuggable", "true"), NotNull()); } TEST_F(ManifestFixerTest, ApplicationProfileable) { std::string shell = R"( <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android"> <application> <profileable android:shell="true"/> </application> </manifest>)"; EXPECT_THAT(Verify(shell), NotNull()); std::string noshell = R"( <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android"> <application> <profileable/> </application> </manifest>)"; EXPECT_THAT(Verify(noshell), NotNull()); } TEST_F(ManifestFixerTest, IgnoreNamespacedElements) { std::string input = R"EOF( Loading Loading
tools/aapt2/link/ManifestFixer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -367,6 +367,7 @@ bool ManifestFixer::BuildRules(xml::XmlActionExecutor* executor, application_action["uses-library"].Action(RequiredNameIsNotEmpty); application_action["library"].Action(RequiredNameIsNotEmpty); application_action["profileable"]; xml::XmlNodeAction& static_library_action = application_action["static-library"]; static_library_action.Action(RequiredNameIsJavaPackage); Loading
tools/aapt2/link/ManifestFixer_test.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -671,6 +671,24 @@ TEST_F(ManifestFixerTest, ApplicationInjectDebuggable) { {}, "application", xml::kSchemaAndroid, "debuggable", "true"), NotNull()); } TEST_F(ManifestFixerTest, ApplicationProfileable) { std::string shell = R"( <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android"> <application> <profileable android:shell="true"/> </application> </manifest>)"; EXPECT_THAT(Verify(shell), NotNull()); std::string noshell = R"( <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android"> <application> <profileable/> </application> </manifest>)"; EXPECT_THAT(Verify(noshell), NotNull()); } TEST_F(ManifestFixerTest, IgnoreNamespacedElements) { std::string input = R"EOF( Loading