(1) 在我的项目根目录中创建了一个新文件夹 libs
,并将已提取并重命名的文件夹 /Smack
复制到了 libs
中。因此,现在它的结构如下所示:
root/libs/Smack/
(2) 我编辑了根目录下的settings.gradle
文件
include ':app'
include ':libs:Smack'
(3) 通过 文件 -> 项目结构 -> 模块 app -> 依赖项
,我已将 :libs:Smack
添加为模块依赖
(4) 我已在 root/app/build.gradle
中添加以下行:
compile project(':libs:Smack')
根据我在网上找到的大多数资料,这应该就是了。然而,我遇到了一个错误:
Gradle project sync failed
。更详细地说,我得到了以下信息:/path-to-root/libs/Smack/build.gradle
Error:(42, 0) Project with path ':smack-integration-test' could not be found in project ':libs:Smack'.
当我查看文件和行时,它显示为
project(':smack-integration-test')
。但是,无法找到此内容。然而,有一个名为libs/Smack/smack-integration-test
的文件夹。看起来非常简单,但我似乎在这里错过了一些关键内容。编辑:实际上,Android Studio支持导入Gradle项目:
文件 -> 新建 -> 新建模块
会打开一个对话框窗口,在其中选择导入Gradle项目
,然后必须选择此处的Smack源目录。这样做将在settings.gradle
中生成所有正确的包含语句。但是,现在我遇到了错误:
Error:(386, 0) Could not get unknown property 'clirr' for project ':smack-integration-test' of type org.gradle.api.Project.
因为我对Gradle不是很熟悉,所以我不知道这可能意味着什么,而且我的谷歌搜索也没有帮助我进展。
settings.gradle
中添加了所有模块,例如include ':libs:Smack:smack-integration-test'
,并且将它们全部作为模块依赖项添加(参见我的问题中的 (3))。但是没有任何变化,仍然出现相同的错误。 - Christiansettings.gradle
中,就像您建议的那样,只是格式与我的尝试不同。 - ChristianmavenLocal()
。 - lance-java