Maciej Żenczykowski | 3142198 | 2025-01-02 08:27:30 -0800 | [diff] [blame] | 1 | # Keep JNI registered methods |
| 2 | -keepclasseswithmembers,includedescriptorclasses class * { native <methods>; } |
| 3 | |
markchien | 9d35382 | 2019-12-16 20:15:20 +0800 | [diff] [blame] | 4 | # Keep class's integer static field for MessageUtils to parsing their name. |
Chalard Jean | 88edc35 | 2022-09-29 18:01:49 +0900 | [diff] [blame] | 5 | -keepclassmembers class com.android.server.**,android.net.**,com.android.networkstack.** { |
| 6 | static final % POLICY_*; |
| 7 | static final % NOTIFY_TYPE_*; |
| 8 | static final % TRANSPORT_*; |
| 9 | static final % CMD_*; |
| 10 | static final % EVENT_*; |
markchien | 9d35382 | 2019-12-16 20:15:20 +0800 | [diff] [blame] | 11 | } |
| 12 | |
Jared Duke | 4ed9942 | 2022-04-19 21:45:04 +0000 | [diff] [blame] | 13 | # Ensure runtime-visible field annotations are kept when using R8 full mode. |
| 14 | -keepattributes RuntimeVisibleAnnotations,AnnotationDefault |
| 15 | -keep interface com.android.networkstack.tethering.util.Struct$Field { |
| 16 | *; |
| 17 | } |
markchien | 7052688 | 2020-11-12 00:17:15 +0800 | [diff] [blame] | 18 | -keepclassmembers public class * extends com.android.networkstack.tethering.util.Struct { |
Remi NGUYEN VAN | 9a82bbf | 2021-04-14 01:30:55 +0000 | [diff] [blame] | 19 | *; |
markchien | 7052688 | 2020-11-12 00:17:15 +0800 | [diff] [blame] | 20 | } |
| 21 | |
Wayne Ma | 71d6639 | 2022-03-03 10:15:09 +0800 | [diff] [blame] | 22 | # The lite proto runtime uses reflection to access fields based on the names in |
| 23 | # the schema, keep all the fields. |
| 24 | -keepclassmembers class * extends com.android.networkstack.tethering.protobuf.MessageLite { |
| 25 | <fields>; |
Chalard Jean | 88edc35 | 2022-09-29 18:01:49 +0900 | [diff] [blame] | 26 | } |