我有一个多模块项目(我用的Android应用程序包)与数据绑定,的ViewModels。但是,当我让Proguard
,出现以下错误的应用程序崩溃:
java.lang.RuntimeException: Unable to start activity ComponentInfo{...MyActivity}: java.lang.IllegalStateException: DataBindingUtil.setConte… R.layout.my_activity) must not be null
Caused by: java.lang.IllegalStateException: DataBindingUtil.setConte… R.layout.my_activity) must not be null
at MyActivity.onCreate(MyActivity.kt:38)
当我删除模块,并创建一个app
模块,一切正常。当我禁用Proguard
,它也能正常工作。这里是我的proguard-rules.pro
的一部分:
-dontwarn android.databinding.**
-keep class android.databinding.** { *; }
-keep class com.example.module1.databinding.** { *; }
-keep class com.example.module2.databinding.** { *; }
在build.gradle
:
minifyEnabled true
useProguard true
因此,错误指向此行的代码:
val binding: com.example.module1.databinding.MyActivityBinding =
DataBindingUtil.setContentView(this, R.layout.my_activity)
也许任何想法如何解决?
只需要添加到您的qazxsw POI,其中模块1和模块2的动态特性模块启用数据绑定。
proguard-rules.pro