Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit ee63021862dd94db923d7e6a3da0d98aff76be90
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Tue Jun 22 13:29:10 2021
Retain the @Navigator.Name annotation on each subclass of Navigator
Relnote: "Add ProGuard rules for `@Navigator.Name`, fixing issues
when using R8 3.1 full mode."
Bug: 191654433
Change-Id: I2add9f695eede9d912de6710745a37f088050cac
M navigation/navigation-common/proguard-rules.pro
https://android-review.googlesource.com/1741063
Branch: androidx-main
commit ee63021862dd94db923d7e6a3da0d98aff76be90
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Tue Jun 22 13:29:10 2021
Retain the @Navigator.Name annotation on each subclass of Navigator
Relnote: "Add ProGuard rules for `@Navigator.Name`, fixing issues
when using R8 3.1 full mode."
Bug: 191654433
Change-Id: I2add9f695eede9d912de6710745a37f088050cac
M navigation/navigation-common/proguard-rules.pro
il...@google.com <il...@google.com> #3
This has been fixed internally and will be available in Navigation 2.4.0-alpha04
Description
R8 3.1 (full mode) will remove annotations from classes, fields and methods that are not matched by a this change is to prevent R8 from having to retain all annotations in the program, when only a few are typically needed.
-keep
rule, even in the presence-keepattributes *Annotation*
. The motivation forWith R8 3.1 in full mode, the following rule is therefore needed to preserve
@Navigator.Name
annotations on subclasses ofandroidx.navigation.Navigator
:This would be good to add to the consumer Proguard rules of
androidx.navigation
.(This showed up while trying to revert commit "Disable R8 full mode for now" @https://github.com/chrisbanes/tivi/commit/9720aa34f6c8b9e5260129ab6d05b44e84d3721c .)