Do not keep runtime invisible annotations in proguard.flags

This updates the corresponding Android.bp file to keep the runtime invisible annotations, meaning this should be a no-op.

When RELEASE_R8_ONLY_RUNTIME_VISIBLE_ANNOTATIONS is enabled, keep_runtime_invisible_annotations will become a no-op, which should lead to all runtime invisible annotations being stripped from this build.

Bug: 387958004
Change-Id: Ib0090cd30d44630a1b0a1d1f0605edb7fef8c5cf
Test: existing
This commit is contained in:
Christoffer Adamsen
2025-01-17 04:34:59 -08:00
parent 96af708145
commit b0f8c82e37
2 changed files with 8 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ messaging_java_defaults {
soong_config_variables: {
build_variant_eng: {
optimize: {
keep_runtime_invisible_annotations: true,
proguard_flags_files: [
"proguard.flags",
"proguard-test.flags",
@@ -39,6 +40,7 @@ messaging_java_defaults {
},
conditions_default: {
optimize: {
keep_runtime_invisible_annotations: true,
proguard_flags_files: [
"proguard.flags",
"proguard-release.flags",

View File

@@ -14,7 +14,12 @@
#
# Keep enough data for stack traces
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable,*Annotation*
-keepattributes SourceFile,
LineNumberTable,
RuntimeVisibleAnnotations,
RuntimeVisibleParameterAnnotations,
RuntimeVisibleTypeAnnotations,
AnnotationDefault
# Keep classes and methods that have the guava @VisibleForTesting annotation
# TODO(b/373579455): Evaluate if <init> needs to be kept.