问题标签 [dynamic-feature]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1362 浏览

android - 在基本模块中找不到动态功能模块中的 Android 提供程序

我在我的动态功能模块中使用了一些库。这些库正在向清单中添加一些提供程序。

例如在我的动态模块中的 build.gradle 文件中:

该库将以下标记添加到清单中:

问题是当我构建我的基本模块时,应用程序崩溃了,因为它找不到提供程序。我该如何解决这个问题?

正如这里所说:

您的应用程序基本模块的清单类似于任何其他应用程序模块的清单。请记住,当 Google Play 生成您应用的基础 APK 时,它会将所有模块的清单合并到基础 APK 的清单中。

但为什么只有供应商受到影响?活动是否被忽略?

这是我得到的堆栈跟踪:

0 投票
2 回答
798 浏览

android - Android:迁移到动态功能模块时出现 Gradle 错误

我一直在按照步骤将我的多模块应用程序迁移到这里提到的新动态功能模块,因为前者已被弃用。

我遵循了所有步骤并对其进行了审查。但是我仍然收到以下我无法理解的错误。

所有错误都与 androidx 库有关。

0 投票
1 回答
339 浏览

android - 运行单元测试用例时无法在动态功能模块中引用应用模块类

我们的项目具有依赖于 app 模块的动态功能模块。动态功能模块中的类依赖于 app 模块。

我们在动态模块中也有单元测试用例,用于测试动态模块的各个类。通过 android studio 运行时,单元测试运行良好。使用 gradlew 运行单元测试时出错。

以下是错误:

./gradlew :dynamic_feature1:testDebugUnitTest 得到以下错误:

0 投票
1 回答
430 浏览

java - 如何从 Android 基本模块中的动态功能模块访问 Java 代码/库?

在提到的文档中

从已安装的模块访问代码和资源

& 有一个加载本机库的功能。

但是如何从已安装的动态功能模块访问 Java/Kotlin 类或 Java 库?

我已经检查了从基本模块调用动态功能代码,但没有解决方案。

提前致谢

0 投票
1 回答
920 浏览

android - 构建android应用程序包时如何修复“缺少按需模块的标题”?

我正在尝试将我的应用程序项目中的功能拆分为一些动态模块。我已经将一些布局、可绘制和 java 类移动到动态功能模块。我按照这个说明,成功地将项目构建到我的 android 设备上。构建 APK 是成功的,但是当我尝试构建 android app bundle 时,它​​显示异常

Title for on-demand module 'myfeaturemodule' is missing in the base resource table.

如何修复此异常以及为什么它仅在我想构建应用程序包时显示?

这是来自 Android Studio 的堆栈跟踪:

我已经在功能清单中为我的功能模块命名

这是我的设置 gradle

这是我的功能 gradle

0 投票
1 回答
1294 浏览

android - Android 中动态模块中的 MODULE_UNAVAILABLE 错误

最近在 2018 年,谷歌宣布了 Android 中的新功能,称为动态功能模块

我从这个链接http://www.tellmehow.co/know-android-dynamic-delivery-module/#尝试了相同的功能

在我的项目中,我得到了模块应用程序,这是我的应用程序和动态模块作为 bigbazaar,

我正在使用以下方法在运行时下载动态方法。

从给定的链接和其他 bolgs 中,我发现我们可以通过 Google Play 商店测试此功能,最后使用名为“bundletool”的工具

我还按照示例链接中的建议更改了我的运行配置。

我还在动态功能模块的 AndroidManifest.xml 文件中定义了以下属性,

错误日志,

问题

我尝试了很多方法,但是每次单击下载按钮下载动态模块时,它都会给我错误代码-2,即“MUDULE_UNAVAILABLE”。

我该如何解决这个错误?

0 投票
1 回答
901 浏览

android-espresso - 动态功能模块上的 UI Espresso 测试

Firebase 测试实验室接受 App Bundle / APK 和 android 测试 APK,并且动态功能模块 UI 测试在 Firebase 测试实验室中失败。该错误是关于一些多 dex 问题,表明在基本 apk 中找不到功能模块,如果他们不处理动态功能模块,这是有道理的。想知道是否有人遇到过同样的问题,或者 firebase 测试实验室团队的某个人可以提供帮助。

所以问题是为动态功能模块运行 Espresso UI 测试,android studio 无法运行它们,但最新的 gradle 插件可以正确处理它。它基本上先安装基本模块,然后尝试安装功能测试 apk,一切正常。(对特定方法运行测试有一些问题,但这不是我的问题)。有效的命令行是著名的 connectedAndroidTest 命令。问题是在 Firebase 测试实验室上运行那些。

0 投票
0 回答
1438 浏览

android - 动态功能使用外部 aar 依赖项时如何修复“程序类型已存在”错误

我们有一个第 3 方 aar 文件,出于大小考虑,我们决定拆分为一个单独的动态功能(模块)。主应用程序和动态模块com.google.code.gson:gson 在我们删除依赖项的同一个模块中时都在使用gson,但现在我们的主模块需要它。

项目构建很好,但是当我们尝试构建捆绑包时,我们得到一个

“程序类型已存在:com.google.gson.FieldNamingPolicy$5”错误

我们试图从模块的 gradle 中排除 gson:在依赖项和 android 部分中,但没有运气。这是第 3 方 aar,因此我们无法访问其代码或依赖项。

主要应用程序梯度:

动态特征梯度:

错误:

org.gradle.execution.MultipleBuildFailures:构建完成,有 1 次失败。...引起:java.lang.RuntimeException:com.android.build.api.transform.TransformException:生成主 dex 列表时出错:合并 dex 档案时出错:程序类型已经存在:com.google.gson.FieldNamingPolicy 5 美元

0 投票
2 回答
528 浏览

android - 动态功能更新

我正在我的 Android 应用程序中引入动态功能,如果我将新版本上传到仅包含动态功能模块中的更新的商店,我想知道这种情况?所有用户都会看到有更新吗?还是只有安装了动态功能的人才能看到它?

举一个例子来确保问题是清楚的。假设应用程序具有动态功能 D。用户 A 安装了应用程序并安装了动态功能 D。用户 B 安装了没有动态功能 D 的应用程序。如果应用程序开发人员将更新上传到仅在动态功能部分有更新的商店。用户 B 会看到应用中有更新吗?

0 投票
2 回答
1190 浏览

android - 生成具有所有动态功能的 APK

我已经在我的项目中添加了一个动态功能模块,并且在尝试模拟器或直接在设备上运行(使用运行按钮)时一切正常,但是当我尝试使用命令行(:app:assembleRelease)生成 APK 时,动态功能模块不会被包括在内在最终的 APK 中,它不见了。我知道我可以创建一个 Android App Bundle,然后.aab使用所有模块创建一个 APK。但问题是:

有没有办法直接从源代码创建完整的 apk(所有模块,例如:包括动态功能)?