嗯,生成我的发布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缩小到仅10
谢谢
问题是,在离题时,我们还需要保留视图模型,因此此行将保留从ViewModel扩展的所有类