Gradle 8中Android构建文件已弃用packagingOptions的替代方案
解决Gradle 8中packagingOptions.resources.excludes弃用的问题
如果你已经迁移到Gradle 8(搭配Android Gradle Plugin 8.1.0-alpha01,使用Android Studio Giraffe | 2022.3.1 Canary 1版本),会发现原来的packagingOptions资源排除写法已经被标记为弃用:
原弃用代码:
packagingOptions { resources { excludes += '/META-INF/{AL2.0,LGPL2.1}' } }
如果尝试这种写法会无效:
packagingOptions { resources.excludes.add('/META-INF/{AL2.0,LGPL2.1}') }
正确的替代写法是直接通过链式调用的方式配置,不需要嵌套在packagingOptions的代码块内:
packagingOptions.resources.excludes.add('/META-INF/{AL2.0,LGPL2.1}')
这是因为在AGP 8.x版本中,官方调整了packagingOptions的配置方式,移除了嵌套的resources代码块写法,改为直接通过属性链式调用的方式来添加资源排除规则。
内容的提问来源于stack exchange,提问作者Hector
相关产品推荐
相关产品推荐

