Я пытался создать воспроизводимые сборки Android, но заблокирован доступными для рисования ресурсами из библиотеки AppCompat.
Drawables abc_ic_menu_cut_mtrl_alpha.png
и abc_ic_menu_copy_mtrl_am_alpha.png
появляются и исчезают из папок res/drawable-ldrtl-xxxhdpi-v17
и res/drawable-xxxhdpi-v4
вapk-файлы артефактов в разных сборках для одной и той же базы кода.
Я использую androidx.appcompat:appcompat:1.1.0
, com.android.tools.build:gradle:3.5.1
и Gradle 5.4.1, и не ссылаюсь на эти ресурсы напрямую.
shrinkResources
не повлияет на результат, как я тестировал с true
и false
. Когда это было true
, я пытался добавить keep.xml
для удаления или сохранения этих ресурсов, но результаты были такими же, ни один из них не был полностью удален.
Я подозревал, что это было вызвано Gradle объединить ресурсы , но не удалось найти журналы или отчеты о сопоставлении для этого.
Я заметил, что это папка Rtl, в которой могут отображаться эти чертежи, поэтому я также попытался android:supportsRtl="false"
. Но проблема сохраняется, и ресурсы RTL из AppCompat все еще там.