aar_resources_extractor ignore empty res/ and assets/ dirs. RELNOTES: None PiperOrigin-RevId: 182416060
diff --git a/tools/android/aar_resources_extractor.py b/tools/android/aar_resources_extractor.py index 1a18e24..5ade3e7 100644 --- a/tools/android/aar_resources_extractor.py +++ b/tools/android/aar_resources_extractor.py
@@ -43,7 +43,7 @@ aar_contains_no_resources = True output_res_dir_abs = os.path.abspath(output_res_dir) for name in aar.namelist(): - if name.startswith("res/"): + if name.startswith("res/") and not name.endswith("/"): ExtractOneFile(aar, name, output_res_dir_abs) aar_contains_no_resources = False if aar_contains_no_resources: @@ -56,7 +56,7 @@ aar_contains_no_assets = True output_assets_dir_abs = os.path.abspath(output_assets_dir) for name in aar.namelist(): - if name.startswith("assets/"): + if name.startswith("assets/") and not name.endswith("/"): ExtractOneFile(aar, name, output_assets_dir_abs) aar_contains_no_assets = False if aar_contains_no_assets:
diff --git a/tools/android/aar_resources_extractor_test.py b/tools/android/aar_resources_extractor_test.py index 18bb5b1..bce4a3d 100644 --- a/tools/android/aar_resources_extractor_test.py +++ b/tools/android/aar_resources_extractor_test.py
@@ -50,6 +50,7 @@ def testNoResources(self): aar = zipfile.ZipFile(io.BytesIO(), "w") + aar.writestr("res/", "") os.makedirs("out_dir") aar_resources_extractor.ExtractResources(aar, "out_dir") self.assertEqual([_HostPath("out_dir/res/values/empty.xml")], @@ -76,6 +77,7 @@ def testNoAssets(self): aar = zipfile.ZipFile(io.BytesIO(), "w") + aar.writestr("assets/", "") os.makedirs("out_dir") aar_resources_extractor.ExtractAssets(aar, "out_dir") expected_assets = [