1.升级到Android studio到 android studio bumblebee版本后,发现多个模块的资源文件id无法合并到主模块中。而是每个模块自己保持自己的。
后来研究发现是:
android.nonTransitiveRClass=true 搞得鬼。
该字段描述位于 工程/ gradle.properties下,新建工程时默认是开的,需要自己主动关闭。
该字段描述:
非传递性 R 类
启用非传递性 R 类 (non-transitive R-class) 后,您应用中的 R 类将只会包含在子项目中声明的资源,依赖项中的资源会被排除在外。这样一来,子项目中的 R 类大小将会显著减少。
这一改动可以在您向运行时依赖项中添加新资源时,避免重新编译下游模块。在这种场景下,可以给您的应用带来 40% 的性能提升。另外,在清理构建产物时,我们发现性能有 5% 到 10% 的改善。
更多,可参考以下作者链接:
https://www.jianshu.com/p/b4154bdea8ab