问题标签 [dynamic-delivery]

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 投票
0 回答
47 浏览

android - 模块“base”和“AdharVerificationDynamicFeature”包含具有不同内容的条目“assets/crashlytics-build.properties”

我正在生成签名构建包。Instant App Module 正在设备中完美启动,但是当我生成 Signed Build Bundle 时出现此错误。

'Modules 'base' 和 'AdharVerificationDynamicFeature' 包含具有不同内容的条目 'assets/crashlytics-build.properties' 在我的资产文件夹中,'crashlytics-build.properties' 文件未显示。

错误日志:

出了什么问题:任务“:quickRide:packageQrReleaseBundle”执行失败。java.util.concurrent.ExecutionException:com.android.tools.build.bundletool.exceptions.ValidationException:模块“base”和“AdharVerificationDynamicFeature”包含具有不同内容的条目“assets/crashlytics-build.properties”。

0 投票
1 回答
247 浏览

java - 无法调用不同模块中的类(动态功能模块)

不同的模块活动

嗨,我一直在尝试从 MainActivity 访问 feature_profile 模块(动态功能模块)中的 DetailActivity,但没有运气。我尝试使用它访问它Class.forName("com.dynamicfeature.feature.profile.DetailActivity")并抛出 java.lang.ClassNotFoundException

我错过了什么吗?有没有人克服这个?想听听你们是否有解决方案:)谢谢

0 投票
1 回答
371 浏览

android - 基于用户国家的功能模块安装时动态交付

我正在尝试使用特定国家/地区的条件来利用安装时动态交付的好处。根据文档,Google Play 确实提供了一种根据国家/地区提供条件的方法。为了利用这一点,我创建了除基本模块之外的 2 个功能模块。

模块 1:该模块具有菲律宾特有的实现。所以我修改了这个模块的清单,看起来像这样 -

模块 2:该模块有一个特定于墨西哥的实现。所以我修改了这个模块的清单,看起来像这样 -

在基本模块(应用程序)中,我编写了代码来使用反射获取特定于国家/地区的实现,假设一次只有一个国家/地区适用。代码是这样的 -

当我在本地运行时,此代码工作正常,因为需要在构建配置中给出要构建的模块,但是当我使用 Google Play 下载应用程序时失败。应用程序崩溃并显示消息"No feature module installed",这意味着没有提供任何模块。

有没有其他方法可以实现这一目标?

0 投票
2 回答
941 浏览

android - 收到此错误“模块'base'和'moduleA'包含具有不同内容的条目'res/drawable/xyz.xml'。”

moduleA 是一个具有依赖关系的动态功能模块,它是一个 aar 库。

它构建成功并安装在模拟器上,但是每当我想创建一个应用程序包时,我都会收到以下错误:

如果我应该在 app 模块中重命名 xyz.xml,我会得到错误:

这是Plaid 的模块化文章中强调的问题之一。

为了解决这个问题,我不得不在 app 模块中创建一个空的 xyz.xml,但是在创建 app-bundle 时,我得到了错误:

问题是什么,如何解决?

0 投票
1 回答
57 浏览

android - 如何在android动态交付中执行错误代码“INCOMPATIBLE_WITH_EXISTING_SESSION”的失败状态?

根据Android开发者文档,失败状态“INCOMPATIBLE_WITH_EXISTING_SESSION”的定义是

该请求包含一个或多个已请求但尚未安装的模块。

我正在测试一个带有动态功能模块的 Android 应用程序,该模块将在单击按钮后下载/安装。我想测试安装请求进入失败状态“INCOMPATIBLE_WITH_EXISTING_SESSION”时的场景。为此,我单击了一次按钮,当请求处于“正在下载”状态时,我再次单击相同的按钮(甚至更多次),但请求不会进入失败状态并显示错误代码“INCOMPATIBLE_WITH_EXISTING_SESSION”。据我了解,这些动作应该模拟上面的定义。

您对为什么不执行失败状态或我如何执行安装请求进入 INCOMPATIBLE_WITH_EXISTING_SESSION 状态的场景有任何解释。

0 投票
1 回答
69 浏览

android - splitInstallManager 的 onCompleteListener 显示成功时未安装动态功能模块

1596788538.956 20445-20445/com.tcore.app I/PlayCore: UID: [10198] PID: [20445] SplitInstallService : startInstall([aadhar_module],[]) 1596788538.957 20445-21761/com.tcore.app I/PlayCore: UID :[10198] PID:[20445] SplitInstallService:启动与服务的绑定。1596788538.968 20445-20445/com.tscore.app I/PlayCore:UID:[10198] PID:[20445] SplitInstallService:ServiceConnectionImpl.onServiceConnected(ComponentInfo{com.android.vending/com.google.android.finsky.splitinstallservice.SplitInstallService} ) 1596788538.968 20445-21761/com.tcore.app I/PlayCore: UID: [10198] PID: [20445] SplitInstallService: linkToDeath 1596788539.009 20445-21761/com.tscore.app I/PlayCore: UID: [10198] PID: [ 20445] SplitInstallService:与服务解除绑定。1596788539.010 20445-22722/com.tcore.app I/PlayCore:UID:[10198] PID:[20445] SplitInstallService:

0 投票
2 回答
168 浏览

android - 在动态交付模块中使用时应用模块尺寸/颜色的值不正确

我有应用程序模块和一个名为“聊天”的动态模块。我有一个布局和片段驻留在聊天模块中,布局中有一个android:textSize="@dimen/sp20"书面的。Dimen 是在应用程序模块中定义的,因为它在我运行它时显示不正确的文本大小。我调试了它,它等于 12sp(对于 xxhdpi 设备是 36)。

我尝试以编程方式使用dimen,但结果相同。( landing_page_toolbar_title.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(com.sendbird.R.dimen.sp20))) 。小心使用应用模块包中的“R”。

当我在聊天模块中定义相同的值时,它可以完美运行。但这对于我们的场景是不可行的。我有大量的字符串、尺寸、颜色资源,在应用程序模块中编写了多种配置。请分享可行的解决方案。

附上截图以便更好地理解。基于反射的结果比较

0 投票
1 回答
104 浏览

android - 图书馆项目中的Android动态交付

我正在构建一个 Android 库,我希望它的一些功能仅按需下载,作为动态功能模块。

是否可以在 Android 库项目中使用动态交付(来自 Google Play 核心库)?

我尝试添加dynamicFeatures = [':my_dynamic_feature']到我的库项目中build.gradle,但是当我尝试进行 Gradle 同步时,我收到以下错误:

出于这个原因,我怀疑动态交付仅支持'com.android.application'但不支持'com.android.library'.

有人可以确认这是否受支持吗?
或者至少计划在未来发布 Play Core 库?

谢谢!

0 投票
1 回答
142 浏览

android - Android DFM 动态 FeatureModule 资源 NotFoundException

在我们的应用程序中,我们开始使用动态功能模块 (DFM) 来获取大量资源。我们将大部分可绘制对象移动到 DFM 并在需要时加载它们。

用于使用提供者和应用程序上下文加载可绘制对象(如文档中所示),并且仅在加载 dfm 时才有效

DFM.getDrawableResID(m_drawableName) - 从模块返回资源 ID (DrawableRes)

在 Application 类中重写 attachBaseContext

在主模块 attachBaseContext 的 MainActivity 中也被覆盖

下载模块有效,下载后列表中有一个drawable。但是在应用程序重启后总是 -

模块安装和文件列表从模块中获取没有问题......

0 投票
1 回答
163 浏览

android - 执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障太多条目 (66530)

启用 minify 并出现此错误时,动态功能模块的 Gradle 构建失败

如果禁用缩小它,它工作正常..