问题标签 [dynamic-feature-module]

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 回答
5459 浏览

gradle - java.lang.NoSuchMethodError: No static method asAttributeSet(Lt/g/a/a;)Landroid/util/AttributeSet; in class Landroid/util/Xml;

Complete error

java.lang.NoSuchMethodError: No static method asAttributeSet(Lt/g/a/a;)Landroid/util/AttributeSet; in class Landroid/util/Xml; or its super classes (declaration of 'android.util.Xml' appears in /system/framework/framework.jar!classes2.dex)

I have uploaded appbundle on play store, and whenever I download the app from it in my device, app crashes with logs as below... (logs are collected from all the RedMI devices android os 9, MIUI 11 and 10)

app.gradle

dynamicModule build.gradle (apphub)

dynamic module androidManifest.xml (apphub)

method to download module runtime

proguard of app module

this is only happening after downloading the app from the play store. It works fine with debug but not working with the signed app bundle.

0 投票
1 回答
846 浏览

android - 具有第三方库的动态功能,其清单中有一个带有自定义主题的活动 - 找不到资源

我的应用程序中有一个模块充当动态功能。

此动态功能模块使用第三方库,其中该第三方库在其 AndroidManifest 中有一个使用自定义主题的 Activity。

使用所描述的配置,应用程序可以正常编译,但是当我尝试运行它时,它会抛出一个错误,指出找不到该 Activity 主题的资源。

错误如下所示:

AGPBI: {"kind":"error","text":"Android 资源链接失败","sources":[{"file":"/Users/my_user/Documents/MyProject/App/AppName/build/intermediates/ metadata_feature_manifest/debug/processDebugManifest/metadata-feature/AndroidManifest.xml","position":{"startLine":40,"startColumn":8,"endLine":45,"endColumn":54}}],"original" :“/Users/my_user/Documents/MyProject/App/AppName/build/intermediates/metadata_feature_manifest/debug/processDebugManifest/metadata-feature/AndroidManifest.xml:41:9-46:55:AAPT:错误:资源样式/CustomTheme(又名 com.my.project.domain:style/CustomTheme) 未找到。\n ","tool":"AAPT"}

* 出了什么问题:任务 ':app:processDebugResources' 执行失败。执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade Android 资源链接失败 /Users/my_user/Documents/MyProject/App/AppName/build/intermediates/metadata_feature_manifest/debug/processDebugManifest/metadata-feature 时发生故障/AndroidManifest.xml:41:9-46:55:AAPT:错误:找不到资源样式/CustomTheme(又名 com.my.project.domain:style/CustomTheme)。

我认为这个问题与谷歌描述的以下问题有关:

在动态功能模块的清单中,您不应引用基本模块中不存在的资源。这是因为,当 Google Play 生成您应用的基础 APK 时,它会将所有模块的清单合并到基础 APK 的清单中。因此,如果基础 APK 的清单引用基础 APK 中不存在的资源,资源链接就会中断。

参考:https ://developer.android.com/guide/app-bundle/


如果第三方库未开放修改,如何使该项目运行?

0 投票
1 回答
1414 浏览

android - 如何使用动态功能模块中的 ExoPlayer cast 扩展来投射视频

当我尝试将 HLS 视频从我的应用程序投射到 chromecast 时发生崩溃。我使用 ExoPlayer cast 扩展。

我正在使用 exoplayer 版本2.11.1和播放服务演员框架版本18.0.0。该代码是从动态模块中调用的(apply plugin: 'com.android.dynamic-feature'在模块中build.gradle)。这是我的实现:

当我们创建 Fragment 时:

当用户单击 Cast 按钮时:

当用户单击我的应用程序中的投射按钮,然后在对话框中他们想要投射的设备上单击时,应用程序会系统地崩溃。这是堆栈跟踪

该应用程序在 Pixel 3 和 Pixel 3a 上崩溃,但在三星 S9 上不会崩溃。

有人可以告诉我我错过了什么吗?

0 投票
1 回答
1377 浏览

android - 未安装动态功能模块

我在我的应用程序上添加了一个按需动态功能模块,但我遇到了问题。

当我安装该功能模块时

打印以下日志

这让我相信动态功能模块已成功安装。但是当我尝试检查已安装的模块时:

它返回一个空列表。

有什么我想念的吗?


附加信息:

这是 a 的日志SplitInstallStateUpdatedListener

我还意识到,在INSTALLING日志之后,会打印以下内容:

这是什么意思?


附加信息2:

在 Pixel 3XL (Android 10) 设备上,按需动态功能模块已成功下载并安装。

但是,在摩托罗拉 G5 (Android 8.1) 设备上,仅下载按需动态功能模块,但从未安装。


附加信息3:

出于某种原因,下载和安装仅适用于 Android 10 设备,但我不知道为什么。


为了测试该功能,我使用了内部应用程序共享工具,我可以在其中上传应用程序包

0 投票
1 回答
76 浏览

android - 是否可以在开始下载之前获得动态功能模块大小?

我想知道在我们开始下载之前是否可以知道动态功能模块的大小。我在网络上的任何地方都没有找到答案=/。

0 投票
3 回答
1119 浏览

android - 动态特征模块第三方库无法访问资源

我有一个具有动态功能模块的应用程序。在动态功能模块中,有一个带有图像、输入字段的表单,还有一个访问另一个第三方库的按钮。

第三方库有一个activity和fragment。在活动中打开片段时,我收到以下错误,尽管活动的布局中有容器:

未找到片段 SampleFragment{eed53f7 (5e4c0693-09a2-4725-a6de-1df49dd818f0) id=0x7f080053} 的 id 0x7f080053 (com.app.sample:id/container) 的视图

在此第三方库中访问可绘制对象时,出现以下错误:

java.lang.NoSuchFieldError:类 Lcom.third.library/R$drawable 中没有类型 I 的静态字段 ic_back;或其超类('com.third.library.R$drawable' 的声明出现在 /data/app/com.app.sample-QtC8XuamC1fHEVU4FUpWaA==/split_thirdparty.apk 中)

当我在没有动态功能模块的应用程序中使用这个库时很好。 在此处输入图像描述

0 投票
0 回答
153 浏览

android - 为名为 Redmi K20 PRO 的特定设备安装动态功能模块时出现错误 INSUFFICIENT_STORAGE = -10

我已经实现了一个动态功能模块。基本模块安装成功,但是当我请求动态模块时,它会被下载,但在安装 PlayCore 库中说 INSUFFICIENT_STORAGE = -10时抛出错误,即使有很多空间(超过 18GB)。对于所有其他用户来说,它就像黄油一样顺畅。

0 投票
2 回答
1020 浏览

android - 带有 appbundle 和 PROGUARD 的动态功能不起作用

概述:
由于 proguard,我在从基本模块访问按需动态功能模块的活动时遇到问题。(很可能我猜)

描述:
我已经实现了一个带有应用程序包的按需动态功能模块,并上传到了 Play 商店。
用它实现了带有自定义规则的proguard。
从 Play 商店下载应用程序并在运行时访问该模块后,该模块将被下载。刚下载完之后,我就要求从我的基本模块访问一个活动到那个动态模块。
我收到如下错误

仅供参考:
xxx.yyyyyy.zzzzzz 是我更改的包名以保护隐私。

IRONY:
整个代码在调试中完美运行,同时从本地应用程序包访问它,无需 proguard

我已经尝试了下面的所有链接来克服这个问题,但不能。
1) https://issuetracker.google.com/issues/120517460
2) https://github.com/android/plaid/issues/764
3) java.lang.NoClassDefFoundError:failed resolution of :Lorg/apache/http/协议版本
4) https://issuetracker.google.com/issues/79478779
5) https://github.com/android/app-bundle-samples/issues/17

我也尝试过我们可以使用的所有类型的 proguard 文件,但仍然无能为力。
还将这两个类都保留在proguard中:基础和动态模块活动类,但没有成功。
希望在这里寻找解决方案。

更新:
在 android OS 8,9 中不工作,但在 android 10 中工作文件。

0 投票
0 回答
18 浏览

android - 我可以在不发布到 Play 商店的情况下测试动态模块吗?

我正在雇用某人为我的应用程序编写一个库,当用户需要该功能时,它将是一个动态模块。我不能让那个承包商访问 Play 商店,所以我想弄清楚如何让他们测试动态功能?有没有办法在不发布到 Play 商店的情况下进行测试?我不介意它是否是测试版 Android Studio 的一部分,因为编写这个近库需要一段时间。

谢谢。

0 投票
1 回答
518 浏览

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

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

在我的资产文件夹中,“crashlytics-build.properties”文件未显示。

错误日志:

  • 出了什么问题:任务“:quickRide:packageQrReleaseBundle”执行失败。

    java.util.concurrent.ExecutionException:com.android.tools.build.bundletool.exceptions.ValidationException:模块“base”和“AdharVerificationDynamicFeature”包含具有不同内容的条目“assets/crashlytics-build.properties”。