При применении Proguard в проекте библиотеки Android существуют хорошо известные соображения и проблемы. Обычно основная логика такова:
- Используйте правильные рекомендации по коду и указывайте только общедоступный API как
public foo().... - Используйте хорошо известные правила Proguard, которые относятся к типу «запутать все приватные».
Эти (с другими известными правилами библиотеки Proguard) обычно обеспечивают желаемый результат.
Хак заключается в следующем: у меня есть большой (и сложный в плане зависимостей и использования сторонних API и SDK) библиотечный проект, исторически написанный без хороших правил кодирования. Таким образом, тривиальное решение состоит в том, чтобы пройти класс за классом и подготовить какое-то пользовательское правило -keep для каждого. Это совсем не выполнимая задача. Есть ли альтернатива в таких случаях? Целью является запутывание без использования Proguard, поэтому я готов использовать альтернативы.
publicVsprivateв качестве простого примера. - person michael   schedule 01.11.2015