blob: 2b20ddd0c5fde574e9df45651b279608458b95a3 [file] [log] [blame]
Remi NGUYEN VAN47fce472022-01-14 18:00:11 +09001# Make sure proguard keeps all connectivity classes
Remi NGUYEN VAN2aeb4542022-02-01 02:31:58 +00002# TODO: instead of keeping everything, consider listing only "entry points"
3# (service loader, JNI registered methods, etc) and letting the optimizer do its job
4-keep class android.net.** { *; }
Remi NGUYEN VAN47fce472022-01-14 18:00:11 +09005-keep class com.android.connectivity.** { *; }
6-keep class com.android.net.** { *; }
7-keep class com.android.server.** { *; }
8
Eric Lin3d255c12022-02-09 09:53:02 +00009# Prevent proguard from stripping out any nearby-service and fast-pair-lite-protos fields.
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090010# TODO: This could be optimized in the future to only keep the critical
11# entry points and then let proguard strip out any unused code within
Eric Lin3d255c12022-02-09 09:53:02 +000012# the service. "com.android.server.nearby.service.proto" must be kept to prevent proguard
13# from stripping out any fast-pair-lite-protos fields.
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090014-keep class com.android.server.nearby.** { *; }
15
16# The lite proto runtime uses reflection to access fields based on the names in
17# the schema, keep all the fields.
18# This replicates the base proguard rule used by the build by default
19# (proguard_basic_keeps.flags), but needs to be specified here because the
20# com.google.protobuf package is jarjared to the below package.
21-keepclassmembers class * extends com.android.connectivity.com.google.protobuf.MessageLite { <fields>; }