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
22 lines
908 B
Plaintext
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 *;
|
|
}
|