DefaultManifestParser 在 AGP 7 中已弃用,替换是什么

DefaultManifestParser deprecated in AGP 7, what's the replacement

提问人:Shivam Pokhriyal 提问时间:8/31/2021 更新时间:8/31/2021 访问量:96

问:

我本来是想早点进去的。 然后我更新了我的 android gradle 插件,并且此更新已弃用。而且,它不再有办法得到。 下面是删除和方法的提交 https://android.googlesource.com/platform/tools/base/+/7b2eb3d92dfa29f8cb01cec47f48e18d5b2eb70b。稍后的提交将弃用 .com.android.builder.core.DefaultManifestParserversionNamebuild.gradle7.0.1DefaultManifestParserversionNamegetVersionNamegetVersionCodeDefaultManifestParser

提交消息提到

使用新的变体 Api,我们需要所有 可以来自清单以使用 Provider<> for 他们的懒惰机制

此更改引入了一个并行清单解析器,该解析器 使用 Provider 创建 Provider 然后可以与 DSL 值混合。

但是我找不到获取 versionName 的新方法。

我确实看到有一个新界面,其类文档状态VariantDslInfoversionName

使用 [VariantDslInfoBuilder] 进行实例化。

我检查了谁的类文档状态:VariantDslInfoBuilder

使用 [getBuilder] 作为入口点。

但是该方法需要很多我不知道的参数,所以我不确定如何使用来获取 versionName。getBuilderVariantDslInfo

此外,我什至不确定是否应该替代提供.VariantDslInfoDefaultManifestParserversionName

那么,总而言之,既然在 AGP 7 中不再有效,那么从中获取版本名称的新方法是什么?DefaultManifestParserAndroidManifestbuild.gradle

android gradle android-gradle-plugin android-manifest

评论


答: 暂无答案