在从 google gradle 插件 3.1.4 更新到现在最新的 3.2.1 之后,我试图让我的应用程序再次构建,我认为我首先让我的 Instantapp 工作的方法可能有问题,所以我发布此问题以丢弃或确认该问题,并在这种情况下要求采用不同的方法。
简而言之,我的应用程序是一个在资产文件夹中有许多图形的游戏。为了使 Instantapp 符合 Google Play 规定的 10 MB 限制,我必须删除一些我在免安装版本中不需要的资产以及具有更高分辨率的资产,同时保留其余资产。此外, Instantapp 的代码与安装的代码略有不同,因此我覆盖了那里的一些方法和类。
最小的 com.android.instantapp 模块似乎不能包含资产和代码,所以我创建了一个中间功能模块来保存这些。
因此,经过一番努力(主要是使用 firebase 和 com.google.gms.google-services 插件)后,我想出了这种方法,最终在 3.1.4 版的 gradle 插件(com.android.tools.构建:gradle:3.1.4)
唯一奇怪的是,我必须将标志“baseFeature”设置为 android_instant_feature 和 android_common 功能模块。但它奏效了,我终于可以发布我的游戏的即时版本,而安装的版本也继续构建得很好。
现在,一旦我更新到 google gradle 插件的 3.2.1 版,即使我没有更改任何其他内容,问题也会开始。
在对 gradle 脚本进行一些调整后,包括从 android_instant_feature 模块中删除 baseFeature true 标志,我得到了一个更简短的错误,但我真的不能说我是否比以前更好。错误是这样的:
预期配置 ':android_instant_feature:debugFeatureCompileClasspath' 只包含一个文件,但是它不包含任何文件。
现在我只是被挡在了这里,不知道该做什么或下一步该往哪里看,所以我想知道我的方法是否存在根本性的缺陷,因为我经过一些反复试验想出了它,但我没有确定没问题,在这种情况下,我可以使用哪种其他方法来满足我的要求和 Google 的要求,无论它们是什么。
根据@TWL 的要求,这些是我用于这些模块的 Gradle 文件。我已经用 com.myapp.id 替换了真实的应用程序 ID,其余的正是我所拥有的,包括很多我认为与问题无关的 libGDX 内容,尽管我更愿意以准确性的名义将其留在那里
一只名叫tom的猫
相关分类