android_packages_modules_Co.../Tethering/proguard.flags
Maciej Żenczykowski 314219882e Proguard JNI methods
Keep JNI methods globally instead of just specific class ones.

(cribbed from //packages/modules/Connectivity/service/proguard.flags)

Test: TreeHugger
Bug: 387287282
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2e8568855a7bad66233aa503ebd526c8826e0758
2025-01-02 08:29:25 -08:00

26 lines
969 B
Text

# Keep JNI registered methods
-keepclasseswithmembers,includedescriptorclasses class * { native <methods>; }
# Keep class's integer static field for MessageUtils to parsing their name.
-keepclassmembers class com.android.server.**,android.net.**,com.android.networkstack.** {
static final % POLICY_*;
static final % NOTIFY_TYPE_*;
static final % TRANSPORT_*;
static final % CMD_*;
static final % EVENT_*;
}
# Ensure runtime-visible field annotations are kept when using R8 full mode.
-keepattributes RuntimeVisibleAnnotations,AnnotationDefault
-keep interface com.android.networkstack.tethering.util.Struct$Field {
*;
}
-keepclassmembers public class * extends com.android.networkstack.tethering.util.Struct {
*;
}
# The lite proto runtime uses reflection to access fields based on the names in
# the schema, keep all the fields.
-keepclassmembers class * extends com.android.networkstack.tethering.protobuf.MessageLite {
<fields>;
}