已编译的 APK 文件包含大量未知 (A)XML 布局

Compiled APK file contains a lot of unknown (A)XML layouts

当我解压缩 apk 文件时,在 res\layout 文件夹中我发现了以下未知的 xml 文件:

abc_action_bar_title_item.xml
abc_action_bar_up_container.xml
abc_action_menu_item_layout.xml
abc_action_menu_layout.xml
abc_action_mode_bar.xml
abc_action_mode_close_item_material.xml
abc_activity_chooser_view.xml
abc_activity_chooser_view_list_item.xml
abc_alert_dialog_button_bar_material.xml
abc_alert_dialog_material.xml
abc_alert_dialog_title_material.xml
abc_cascading_menu_item_layout.xml
abc_dialog_title_material.xml
abc_expanded_menu_layout.xml
abc_list_menu_item_checkbox.xml
abc_list_menu_item_icon.xml
abc_list_menu_item_layout.xml
abc_list_menu_item_radio.xml
abc_popup_menu_header_item_layout.xml
abc_popup_menu_item_layout.xml
abc_screen_content_include.xml
abc_screen_simple.xml
abc_screen_simple_overlay_action_mode.xml
abc_screen_toolbar.xml
abc_search_dropdown_item_icons_2line.xml
abc_search_view.xml
abc_select_dialog_material.xml
abc_tooltip.xml
notification_template_part_chronometer.xml
notification_template_part_time.xml
select_dialog_item_material.xml
select_dialog_multichoice_material.xml
select_dialog_singlechoice_material.xml
support_simple_spinner_dropdown_item.xml

None 其中是我的布局文件。我的布局 xml 文件也在那里,但我不知道上面列出的所有内容。

为什么这些文件在我的 apk 文件中?我在那里需要他们吗?或者有没有办法不让它们出现在我的 apk 文件中并让我的 apk 文件变小?

Why are those files in my apk file?

您正在使用 AppCompat,或者至少将其添加为依赖项。那里有一些资源可能来自其他依赖项,但所有 abc 都来自 AppCompat。

Do I need them there?

如果您使用的是 AppCompat,是的。如果没有,没有。如果您不使用 AppCompat,请删除依赖项(并确保您使用的其他任何东西都不需要 AppCompat 或以其他方式将 AppCompat 作为传递依赖项引入)。

即使您正在使用 AppCompat 的其他方面,您也可能不需要其中的某些资源。您可以查看发布版本的资源压缩设置,看看它是否可以识别要删除的部分。

Or is there a way to not having them in my apk file and have my apk file smaller?

您无法使用 AppCompat。在现代 Android 应用程序开发中,这相当困难。