【问题标题】:Android App bundle Cannot find symbol variable for resourceAndroid App bundle 找不到资源的符号变量
【发布时间】:2018-07-09 21:01:04
【问题描述】:

我正在尝试访问 base.apk 中的资源,据记录,我将所有常见的源和资源放在基础应用程序中。但是当我尝试从动态模块访问相同的内容时,它会给出error: cannot find symbol variable <resource> 我注意到动态模块中的 R 包与基本应用程序不同。但是 IDE 并没有抱怨什么。

感谢是否有人可以帮助解决这个问题。

谢谢。

【问题讨论】:

    标签: android android-app-bundle


    【解决方案1】:

    你可以尝试去掉动态模块中生成的R导入语句,和App模块中的一样使用。

    【讨论】:

      【解决方案2】:

      您必须为您从中请求资源的模块显式导入 R 文件。对于 Kotlin,我使用如下导入别名:

      import foo.bar.base.R as Rbase

      所以我可以写Rbase.dimen.bar_foo_size,而不是foo.bar.base.R.dimen.bar_foo_size。与必须查看导入相比,这也使得查看资源的来源变得相当明确。

      【讨论】:

      • 是的!我已经尝试过了,它工作正常。我在想系统会合并 R.java。另外,我试图将现有模块制作为dynamic-module,因此希望避免重构代码以对 R 语句使用显式导入
      猜你喜欢
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      相关资源
      最近更新 更多