Каждый раз, когда вы используете усадку (R8 или ProGuard), она будет использовать предоставленные правила хранения для определения возможных точек входа в программу. Эти точки входа включают любое отражение, используемое в приложении. Android Studio имеет установленные правила хранения по умолчанию (сгенерированные getDefaultProguardFile('proguard-android-optimize.txt')
), которые вместе с правилами, сгенерированными aapt2
, будут работать для многих приложений. Однако, если приложение использует отражение, выходящее за рамки этих правил, потребуются дополнительные правила. Консервативное правило, которое вы используете (сохраняя все в пакете приложений и вложенных пакетах), может работать для большинства приложений, но в итоге вы получите больше, чем требуется.
Вы можете добавить -printconfiguration <some file>
к своему proguard-rules.pro
чтобы увидеть все правила, которые фактически переданы в R8.