minSdk低于24时用Java8默认接口方法触发AbstractMethodError求方案
关于Java 8默认接口方法低minSdk下的AbstractMethodError问题求助
我遇到了一个Stack Overflow上已有提问的相同问题,但因声望不足50无法评论,故新开此问题求助。
崩溃触发场景
- 通过Build > Generate Signed APK构建签名APK时
minSdkVersion设置为24以下
已做的验证
我们曾猜测针对低于Java 8的SDK版本时,默认方法会被编译为抽象方法,于是反编译生成的APK验证,确认默认方法已被正确编译:
.class public interface abstract Lmy/TestListener; .method public abstract test(ZI)V .class public final synthetic Lmy/TestListener$-CC; .method public static $default$test(Lmy/TestListener;ZI)V
已知可行方案(但因项目限制无法使用)
- 将
minSdkVersion设置为24或更高 - 在实现
TestListener的类中显式重写默认方法
请问除了上述两种方案外,是否有其他可行的解决办法或规避措施?
内容的提问来源于stack exchange,提问作者Reddyシ
相关产品推荐
相关产品推荐

