【发布时间】:2021-09-22 18:57:48
【问题描述】:
当我尝试将一个类/活动放入子包或主应用程序包之外时,它找不到“R”。 必须手动导入“R”。
我知道清单告诉您“R”文件必须在哪个包中确定范围。
如何从 gradle 或清单中告诉您我正在使用多个包而不导入“R”?
【问题讨论】:
-
导入
R有什么问题?就像任何其他类一样,如果您想在它不在的包中使用它,则必须使用导入或使用完全限定名称。另外,please do not upload images of code/errors when asking a question. -
我只是不想这样(出于其他架构原因)。会有什么办法吗?就像您为使用 sourceSets 修改清单的布局定义多个文件夹一样。
-
不,如果你想使用一个不在你的包中的类,那么你必须导入它。您可能能够破解
R的生成以在多个包中生成它(或在生成后复制它),但这是善变的,几乎可以肯定不值得您遇到麻烦。由于您似乎不愿意解释您的“架构原因”,我什至无法提出更好的选择。 -
对不起,第一句话不太正确:您始终可以通过其完全限定的类名引用该类,然后您不必导入。但这可能比添加导入更糟糕。
-
请提供足够的代码,以便其他人更好地理解或重现问题。
标签: java android android-gradle-plugin android-manifest