Merge "Enable optimizer on service-connectivity" am: b1c08a00fc

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2069068

Change-Id: I1994b66d965a7891a3c1482da52e049b965dbd5e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2022-05-12 12:19:02 +00:00 • committed by Automerger Merge Worker
commit b43b71eddf
2 changed files with 23 additions and 0 deletions

View file

@ -216,6 +216,11 @@ java_library {
apex_available: [
"com.android.tethering",
],
optimize: {
enabled: true,
shrink: true,
proguard_flags_files: ["proguard.flags"],
},
lint: { strict_updatability_linting: true },
}

18
service/proguard.flags Normal file
View file

@ -0,0 +1,18 @@
# Make sure proguard keeps all connectivity classes
# TODO: instead of keeping everything, consider listing only "entry points"
# (service loader, JNI registered methods, etc) and letting the optimizer do its job
-keep class android.net.** { *; }
-keep class com.android.connectivity.** { *; }
-keep class com.android.net.** { *; }
-keep class !com.android.server.nearby.**,com.android.server.** { *; }
# Prevent proguard from stripping out any nearby-service and fast-pair-lite-protos fields.
-keep class com.android.server.nearby.NearbyService { *; }
-keep class com.android.server.nearby.service.proto { *; }
# The lite proto runtime uses reflection to access fields based on the names in
# the schema, keep all the fields.
# This replicates the base proguard rule used by the build by default
# (proguard_basic_keeps.flags), but needs to be specified here because the
# com.google.protobuf package is jarjared to the below package.
-keepclassmembers class * extends com.android.connectivity.com.google.protobuf.MessageLite { <fields>; }