使用kotlin构成MyApplication后在Manifest中配置报出异常:
MyApplication has no default constructor
原因:是我使用的object修饰MyApplication。
打开Tools>Kotlin>Show Kotlin ByteCode查看一下源码
object在Kotlin在编译期间会生成一个私有构造
// access flags 0x2
private <init>()V
L0
LINENUMBER 6 L0
ALOAD 0
L1
LINENUMBER 6 L1
INVOKESPECIAL android/app/Application.<init> ()V
RETURN
L2
LOCALVARIABLE this Lcom/yirong/videolist/app/MyApplication; L0 L2 0
MAXSTACK = 1
MAXLOCALS = 1
继承自Application的类是不能有私有构造的









网友评论