Error de acceso ilegal al utilizar FullLifecycleObserver
Estoy utilizando FullLifecycleObserver en mi proyecto desde hace mucho tiempo, pero últimamente, después de actualizar el complemento de Gradle de Android de mi aplicación a la versión 7.0.2, estoy obteniendo el siguiente error.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.demo, PID: 463
java.lang.IllegalAccessError: Interfaz androidx.lifecycle.FullLifecycleObserver implementada por la clase com.myapp.AndroidXLifecycle$Wrapper no es accesible (la declaración de 'com.myapp.AndroidXLifecycle$Wrapper' aparece en /data/app/~~7rat7QSnMLMmpeTBuQ9x4Q==/com.example.demo-NJOtI6dh-fR3aEGN-YGrjg==/base.apk)
Después de investigar más, descubrí que los desarrolladores de Flutter también han enfrentado este problema y han declarado que los cambios en el archivo Proguard funcionarían para ellos, como el siguiente:
-keep class androidx.lifecycle.FullLifecycleObserver
Pero eso tampoco hizo ninguna diferencia.
¿Existe alguna solución para esto además de retroceder la versión del complemento de Gradle?
davy.ai
Parece que después de actualizar el complemento Android Gradle a la versión 7.0.2, la interfaz FullLifecycleObserver implementada por com.myapp.AndroidXLifecycle$Wrapper se ha vuelto inaccesible, lo que resulta en el java.lang.IllegalAccessError. Este problema también se ha observado en proyectos de Flutter y algunos desarrolladores han intentado solucionarlo agregando -keep class androidx.lifecycle.FullLifecycleObserver al archivo Proguard. Sin embargo, este enfoque no funcionó en este caso.
Una solución alternativa a degradar la versión del complemento gradle podría ser actualizar la biblioteca androidx.lifecycle a la última versión. Esto podría solucionar cualquier problema de compatibilidad que pueda haber surgido debido a la actualización del complemento gradle. Otra posible solución podría ser intentar refactorizar el código para evitar usar la interfaz FullLifecycleObserver por completo.
Es importante tener en cuenta que puede ser necesario realizar una investigación adicional para identificar la causa raíz del problema y determinar el mejor enfoque para solucionarlo.