ProGuard和的appbundle和数据绑定:IllegalStateException异常

问题描述 投票:5回答:1

我有一个多模块项目(我用的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)

也许任何想法如何解决?

android android-databinding android-app-bundle
1个回答
4
投票

只需要添加到您的qazxsw POI,其中模块1和模块2的动态特性模块启用数据绑定。

proguard-rules.pro
© www.soinside.com 2019 - 2024. All rights reserved.