Как сохранить/исключить определенный путь пакета при использовании proguard?

Я хочу исключить некоторые пути из ProGuard. Пример com.myapp.customcomponents

Как я могу это сделать? Мне не нравится размещать флаги -keep для каждого отдельного файла компонентов, который у меня есть в этом каталоге.

Я пробовал следующее, но он не работает:

-keep public class com.myapp.customcomponents.*

Ответ 1

Вы не указываете, каким образом он не работает. Ваша конфигурация хранит имена всех открытых классов в указанном пакете:

-keep public class com.myapp.customcomponents.*

В следующей конфигурации хранятся имена всех открытых классов в указанном пакете и его подпакетах:

-keep public class com.myapp.customcomponents.**

В следующей конфигурации хранятся имена всех общедоступных/защищенных классов/полей/методов в указанном пакете и его подпакетах:

-keep public class com.myapp.customcomponents.** {
  public protected *;
}

Ответ 2

Добавьте следующую строку внизу вашей конфигурации ProGuard:

-keep class com.facebook.** { *; }

Замените имя пакета соответствующим образом, здесь пакет com.facebook будет исключен из ProGuard.