在我的项目中,我在核心模块中定义了许多字符串。升级到 gradle 8 后,我发现我现在需要引用 R 文件。
例如,如果我在核心模块中定义一个字符串并希望从主模块访问它(主模块当然包括核心模块),我会看到以下行为:
前
com.my.package.main.R我可以通过和从主模块内的核心模块访问字符串(以及所有其他资源)com.my.package.core.R
后
现在我只能再从确切的模块访问字符串,所以我需要com.my.package.core.R在主模块内部使用从核心模块访问字符串......
com.google.android.material.R对于来自和 的属性也会发生同样的情况androidx.appcompat...
我错过了迁移步骤吗?或者这真的应该是这样吗?
Tho*_*mmy 18
使用 AGP 8,默认行为确实发生了变化:请参阅https://developer.android.com/build/releases/gradle-pluginandroid.nonTransitiveRClass中的
选项
android.nonTransitiveRClass
新默认值:true 旧默认值:false
AGP 8.0 仅为当前模块中定义的资源生成 R 类。
| 归档时间: |
|
| 查看次数: |
1458 次 |
| 最近记录: |