Android 即时应用程序 - 无法从基本要素资产中找到符号
Android Instant Apps - Cannot Find Symbol From Base Feature Asset
我有一个基本功能模块和一个功能模块(您可以将其称为 "child")。 base 功能模块有一个 strings.xml 文件资产,其中包含:
<resources>
<string name="app_string">Test String</string>
</resources>
我尝试在 "child" 功能的 activity 中引用此字符串资源,如下所示:
int resId = R.string.app_string;
Android Studio 似乎尊重此引用,甚至会在我单击它时将我定向到 app_string
资源。但是,在编译期间,我遇到了以下错误消息:
Error:(13, 25) error: cannot find symbol variable app_string
我的 "child" 功能的构建 Gradle 文件也有依赖项:
dependencies {
...
implementation project(':base')
}
我也试过compile project(':base')
,但没有成功。
我是否明显遗漏了什么?
您的基础模块和子模块具有不同的包名称 - 假设它们是 com.example.base
和 com.example.child
。每个都包含自己的一组资源,它们的标识符将收集在单独的 R 包中:
com.example.base.R
com.example.child.R
因为您正试图访问基本模块中定义的资源,所以您需要使用变量的完全限定名称来引用它,即 com.example.base.R.string.app_string
。
我有一个基本功能模块和一个功能模块(您可以将其称为 "child")。 base 功能模块有一个 strings.xml 文件资产,其中包含:
<resources>
<string name="app_string">Test String</string>
</resources>
我尝试在 "child" 功能的 activity 中引用此字符串资源,如下所示:
int resId = R.string.app_string;
Android Studio 似乎尊重此引用,甚至会在我单击它时将我定向到 app_string
资源。但是,在编译期间,我遇到了以下错误消息:
Error:(13, 25) error: cannot find symbol variable app_string
我的 "child" 功能的构建 Gradle 文件也有依赖项:
dependencies {
...
implementation project(':base')
}
我也试过compile project(':base')
,但没有成功。
我是否明显遗漏了什么?
您的基础模块和子模块具有不同的包名称 - 假设它们是 com.example.base
和 com.example.child
。每个都包含自己的一组资源,它们的标识符将收集在单独的 R 包中:
com.example.base.R
com.example.child.R
因为您正试图访问基本模块中定义的资源,所以您需要使用变量的完全限定名称来引用它,即 com.example.base.R.string.app_string
。