美文网首页
记Android新版本构建导致的问题-android 不能直接引

记Android新版本构建导致的问题-android 不能直接引

作者: 空白一页_blank | 来源:发表于2022-05-11 11:34 被阅读0次

    问题 module之间无法直接引用R文件。

    android 不能直接引用module资源

    例如

    A module com.test.a

    B module com.test.b

    a module 已经引用Bmodule

    但是代码中不能直接调用 R.layout.B

    需要 com.test.b.R.layout.B

    主要原因是Android Studio Arctic Fox 新版本新建工程,gradle.properties默认会加一行参数

    ···

    android.nonTransitiveRClass=true

    ···

    这是官方说明

    Enables namespacing of each library's R class so that its R class includes only the

    resources declared in the library itself and none from the library's dependencies,

    thereby reducing the size of the R class for that library

    启用每个库的R类的名称空间,以便其R类仅包含

    在库本身中声明的资源,而没有来自库依赖项的资源,

    从而减少了该库的R类的大小

    郭霖
    Android Studio 新特性详解
    https://mp.weixin.qq.com/s/ouI2wD2hjmd02w3DQCgm7Q
    支持非传递 R 类
    另一个与构建相关的功能,是对非传递 R 类的支持。为了演示这一功能,我切换到了一个更大的项目——k-9 邮件应用。我们首先点击 "Refactor",然后选择 "Migrate to Non-Transitive R Classes"。此操作将分析整个项目,找到所有引用资源的源文件,并将它们重新编写为项目本地文件,与此同时还会在 gradle.properties 中添加 android.nonTransitiveRClass=true 来开启构建系统中的特定设置。这将使构建能够跳过大量的资源合并,从而有助于提高性能。如果您的项目中包含大量的模块和资源,强烈建议您尝试这一功能。

    相关文章

      网友评论

          本文标题:记Android新版本构建导致的问题-android 不能直接引

          本文链接:https://www.haomeiwen.com/subject/lhedurtx.html