You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
on my Android project.
I've tried updating Gradle to 8. Everything looks good except for the task:
minifyJottacloudReleaseWithR8 where I get a bunch of missing classes, especially a couple of interesting ones:
Missing class javax.naming.NamingEnumeration (referenced from: void io.grpc.internal.JndiResourceResolverFactory$JndiRecordFetcher.closeThenThrow(javax.naming.NamingEnumeration, javax.naming.NamingException) and 1 other context)
Missing class javax.naming.NamingException (referenced from: void io.grpc.internal.JndiResourceResolverFactory$JndiRecordFetcher.closeThenThrow(javax.naming.NamingEnumeration, javax.naming.NamingException) and 4 other contexts)
I've tried ignoring them with this on the proguard file:
-dontwarn javax.naming.**
But then I get a lot of runtime crashes stating:
Fatal Exception: java.lang.IllegalAccessError: Illegal class access ('xxx.xxx.LogInterceptor$interceptCall$1$start$listener$1' attempting to access 'io.grpc.PartialForwardingClientCallListener') in attempt to invoke super method void io.grpc.PartialForwardingClientCallListener.onClose(io.grpc.Metadata, io.grpc.Status) (declaration of 'xxx.xxx.LogInterceptor$interceptCall$1$start$listener$1' appears in base.apk!classes3.dex)
My guess is that grpc-okhttp or grpc-android are using javax.naming references which don't exist in java 17 anymore, and there's nothing I can do about it.
I'm putting this Gradle update on stale until you guys fix it.
@DevDema, this is for our internal build, so should not be used for your issues.
That first part looks to be the same as #10057. It is safe to ignore. Those JNDI classes have never existed on Android. See #5422 for previous discussion for those classes.
Open a separate issue for that PartialForwardingClientCallListener issue. That seems to be because ForwardingClientCallListener extends PartialForwardingClientCallListener, but PartialForwardingClientCallListener is package-private. Seems like an R8 or Android bug, but we'll also need to see what we can do about it.
To upgrade to Gradle 8 we will need to upgrade to Android Gradle Plugin 8. And that will require Java 17. It also enables things like R8 full mode.
The text was updated successfully, but these errors were encountered: