Непонятные сборки в Android при использовании библиотеки AppCompat - PullRequest
0 голосов
/ 10 октября 2019

Я пытался создать воспроизводимые сборки 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 все еще там.

1 Ответ

0 голосов
/ 11 октября 2019

Оказалось, что я использовал в своем проекте вспомогательную среду, которая случайным образом удаляла ресурсы при создании файлов артефактов. Я создал для них проблему https://github.com/didi/booster/issues/103, и решил этот вопрос.

...