嗯,生成发布版apk并使其正常工作变得很麻烦
实际上,我的apk已经成功构建,但是出现了一个方法错误
Caused by: java.lang.NoSuchMethodException: <init> [interface com.myapp.domain.login.LoginRepo]
现在,我的 proGuard 中有以下内容:
-keep class com.myapp.domain.** {*;}
-keep interface com.myapp.domain.** {*;}
现在,我不知道为什么会出现这个错误,因为我保留了这些接口和类,告诉我有关这个问题的错误行在这里
class LoginVMFactory(val repo:LoginRepo):ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return modelClass.getConstructor(LoginRepo::class.java).newInstance(repo)
}
}
我在我的域包中也有这个LoginVMFactory,所以我也保留了这个类。我真的不知道为什么这会发生在发布之前,如果没有使用proGuard,应用程序可以正常工作,但我不希望它达到50mb,相反,使用proGuard可以将其缩小到只有10mb。
谢谢。