Можно ли применить Proguard только к части кодовой базы Android? - PullRequest
0 голосов
/ 08 октября 2018

Итак, я прибыл на рабочий проект, который не в лучшем состоянии.Есть несколько проблем с кодом, но у меня есть одна проблема - Proguard не работает на нем, а это означает, что мы пропустили несколько оптимизаций.

У меня нет времени / возможностей для полного тестирования приложения (что я должен был бы сделать, если бы я применил Proguard ко всей базе кода), а также для выполнения функций, поэтому я 'Я хотел бы представить Proguard во время моей работы, то есть быть избирательным с тем, где он применяется.

Это звучит выполнимо?Есть ли какие-либо рекомендации для подхода?Руководство по Proguard является хорошим справочным материалом для каждого варианта, но я никогда не чувствовал, что оно само по себе является «руководством».

Любой вклад будет приветствоваться.

1 Ответ

0 голосов
/ 08 октября 2018

Хороший способ, который я могу придумать, это взять универсальный файл Proguard и выполнить несколько итераций с истинным значением «minifyEnabled», а к полученным ошибкам применить

--keep class com.example.** { *; } (для всего этого пакета)

--keep class com.example.MainClass { *; } (для всего этого класса)

Делайте это до тех пор, пока не сможете успешно построить и успешно установить apk.Это должно быть быстро (по сравнению с тем же без --keep), как вы и ожидали.

Лучший способ сделать это - потратить время и сделать все правильно.Поверьте мне, приведенный выше ярлык и прямолинейность не показывают большой разницы во времени, потому что вам необходимо понимать основы proguard для обоих случаев.

Краткое руководство, в котором обсуждается упрощение процесса, здесь .Надеюсь, это поможет.

...