Скомпилированный APK-файл содержит много неизвестных (A) XML-макетов. - PullRequest
1 голос
/ 09 июня 2019

Когда я распаковываю файл 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

Ни один из них не является моим файлом макета. Мой файл макета xml также был там, но все вышеперечисленное мне неизвестно.

Почему эти файлы в моем apk файле? Нужны ли они там? Или есть способ, чтобы их не было в моем файле apk, а файл apk был бы меньше?

1 Ответ

2 голосов
/ 09 июня 2019

Почему эти файлы в моем apk-файле?

Вы используете AppCompat или, по крайней мере, добавили его в качестве зависимости. Там есть некоторые ресурсы, которые могут быть из других зависимостей, но все abc из AppCompat.

Мне они там нужны?

Если вы используете AppCompat, да. Если нет, то нет. Если вы не используете AppCompat, удалите зависимость (и убедитесь, что ничто другое, что вы используете, не требует AppCompat или каким-либо другим образом извлекает AppCompat в качестве транзитивной зависимости).

Возможно, что некоторые из этих ресурсов вам не понадобятся, даже если вы используете другие аспекты AppCompat. Вы можете посмотреть в настройках сжатия ресурса в сборке релиза, чтобы увидеть, может ли он определить некоторые из них для удаления.

Или есть способ, чтобы их не было в моем apk-файле и чтобы мой apk-файл был меньше?

Вы не можете использовать AppCompat. В современной разработке приложений для Android это довольно сложно.

...