Jared Duke edb1339a32 Refine (optional) system_server Proguard config
Allow removal of synthetic members, as well as access modifications,
improving both inlining performance and low-risk size reduction.

Bug: 203088572,210510433
Test: SYSTEM_OPTIMIZE_JAVA=true m (validate services.jar/odex change)
Change-Id: I17fd15623351b985d49034f4de13425b31a93758
2021-12-21 20:18:02 +00:00

22 lines
908 B
Plaintext

# TODO(b/196084106): Refine and optimize this configuration. Note that this
# configuration is only used when `SOONG_CONFIG_ANDROID_SYSTEM_OPTIMIZE_JAVA=true`.
-keep,allowoptimization,allowaccessmodification class ** {
!synthetic *;
}
# Various classes subclassed in ethernet-service (avoid marking final).
-keep public class android.net.** { *; }
# Referenced via CarServiceHelperService in car-frameworks-service (avoid removing).
-keep public class com.android.server.utils.Slogf { *; }
# Allows making private and protected methods/fields public as part of
# optimization. This enables inlining of trivial getter/setter methods.
-allowaccessmodification
# Disallow accessmodification for soundtrigger classes. Logging via reflective
# public member traversal can cause infinite loops. See b/210901706.
-keep,allowoptimization class com.android.server.soundtrigger_middleware.** {
!synthetic *;
}