Status Update
Comments
dr...@gmail.com <dr...@gmail.com> #2
Hello,
Thank you for reaching out to us with your request.
We have duly noted your feedback and will thoroughly validate it. While we cannot provide an estimated time of implementation or guarantee the fulfillment of the issue, please be assured that your input is highly valued. Your feedback enables us to enhance our products and services.
We appreciate your continued trust and support in improving our Google Cloud Platform products. In case you want to report a new issue, Please do not hesitate to create a new issue on the
Once again, we sincerely appreciate your valuable feedback; Thank you for your understanding and collaboration.
sg...@google.com <sg...@google.com> #3
Being able to view the available backups in console would be helpful
dr...@gmail.com <dr...@gmail.com> #4
I can confirm that adding the following rule fixes the issue (SslFilter
doesn't have a no-arg constructor so I picked the 1-arg one):
-keep class org.apache.mina.filter.ssl.SslFilter {
public <init>(javax.net.ssl.SSLContext);
}
However, there's something more confusing and worrying here.
I wanted to check how SslFilter
is being instantiated via reflection so I connected Java debugger to a debug build. To my surprise, my breakpoint in either of the two constructors were never hit, and when I added breakpoint to FtpIoSession.getClientCertificates()
, I could see that on debug build if (getFilterChain().contains(SslFilter.class))
actually evaluated to false
and the branch that contains the cast was never hit.
public Certificate[] getClientCertificates() {
// Hit but false
if (getFilterChain().contains(SslFilter.class)) {
// Never hit
SslFilter sslFilter = (SslFilter) getFilterChain().get(
SslFilter.class);
...
}
// no certificates available
return null;
}
This is also kind of evident in terms of functionality - the FTP server included in Material Files doesn't support or enable SSL at all, so it's natural that an SslFilter
is never instantiated either.
There's no reflective instantiation of SslFilter
according to
My guess is that due to SSL is unused the SslFilter
class is also somehow optimized (e.g. its constructor got correctly removed), but that somehow messed up the Class.isAssignableFrom()
check in DefaultIoFilterChain.contains()
as well.
Could you please help double check if there's something unexpected that R8 is doing in this case?
I tested and found that this regression/behavior change happend in AGP 8.4.0, so I'll revert to AGP 8.3.2 for now.
Description
See alsohttps://github.com/zhanghai/MaterialFiles/issues/1260#issuecomment-2196254166 for a bit more info about the error.
Stacktrace:
Deobfuscated stacktrace:
Steps to reproduce:
v1.7.3
release tag).signing.properties
by followingsigning.properties.example
in the project, i.e. generate a signing key and fill it in../gradlew clean build
and install APK127.0.0.1:2121
+Anonymous
authentication to connect to that server, connection fails due to auth failure and the aboveClassCastException
is shown in the logcat.android.enableR8.fullMode=false
added togradle.properties
(similar to