为动态模块获取 SplitInstallErrorCode.MODULE_UNAVAILABLE

Getting SplitInstallErrorCode.MODULE_UNAVAILABLE for dynamic module

我在尝试安装动态模块时遇到以下错误 SplitInstallErrorCode.MODULE_UNAVAILABLE。我已经在使用 Google 播放内部应用程序共享来测试 aab 文件,但仍然可以。

这是动态功能清单文件:

 <dist:module
        dist:title="@string/module_investment">
        <dist:delivery>
            <dist:on-demand />
        </dist:delivery>
        <dist:fusing dist:include="true" />
    </dist:module>

这是我开始下载的方式:

private val moduleInvestment by lazy { getString(R.string.module_investment) }

splitInstallRequest = SplitInstallRequest
                        .newBuilder()
                        .addModule(moduleInvestment)
                        .build()

     splitInstallManager.startInstall(splitInstallRequest)
                    .addOnSuccessListener { sessionId -> mySessionId = sessionId }
                    .addOnFailureListener { exception ->
                        when ((exception as SplitInstallException).errorCode) {
                            SplitInstallErrorCode.NETWORK_ERROR -> {

                            }
                            SplitInstallErrorCode.ACTIVE_SESSIONS_LIMIT_EXCEEDED ->
                                checkForActiveDownloads()
                            SplitInstallErrorCode.MODULE_UNAVAILABLE ->
                                Toast.makeText(
                                        requireActivity(),
                                        "You don't have access to $moduleInvestment module",
                                        Toast.LENGTH_LONG).show()
                        }
                    }

我该如何解决这个问题?

您在SplitInstallRequest 中传递的值不应该是动态功能模块的标题,而是它的名称。动态特性模块的名字也是Gradle模块的名字,你在Gradle配置里也设置了android.dynamicFeatures.

希望对您有所帮助,