小编Paw*_*dio的帖子

带有 DataBinding 和 R8 的 Android 动态特性

我在动态功能模块中使用 DataBinding 有问题。

当我无法生成与我的片段相关的绑定对象时 isMinifyEnabled = true

通常,我尝试使用此代码来执行此操作: val viewDataBinding: FragmentFeature1Binding = DataBindingUtil.inflate(inflater, layoutId, container, false) 但返回的inflate()值始终为 null,没有任何附加消息。我试图FragmentFeature1Binding直接使用膨胀布局,但我得到了相同的结果。

当我将片段移动到app模块中时,一切正常。

我的应用程序build.gradle.kts

android {
    compileSdkVersion(AndroidVersions.compileSdk)
    buildToolsVersion(AndroidVersions.buildTools)

    dataBinding.isEnabled = true

    defaultConfig {
        applicationId = ApplicationConfig.id
        minSdkVersion(AndroidVersions.minSdk)
        targetSdkVersion(AndroidVersions.targetSdk)
        versionCode = ReleaseVersions.versionCode
        versionName = ReleaseVersions.versionName
    }
    buildTypes {
        getByName(BuildTypes.debug) {
            isMinifyEnabled = true
            isShrinkResources = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
            buildConfigField("Long", "API_TIMEOUT_IN_SECONDS", "30l")
        }
    }

    compileOptions {
        targetCompatibility = JavaVersion.VERSION_1_8
        sourceCompatibility = JavaVersion.VERSION_1_8
    }

    dynamicFeatures …
Run Code Online (Sandbox Code Playgroud)

android android-databinding android-r8 dynamic-feature-module

8
推荐指数
1
解决办法
1013
查看次数