gpt4 book ai didi

android-studio - 无法解析 Android Studio 中的模块类

转载 作者:行者123 更新时间:2023-12-03 17:51:10 25 4
gpt4 key购买 nike

我有两个单独的 Android 项目 A 和 B。我希望在 A 中使用 B,但我不希望将其复制到 A。我只想使用它。

所以我将此添加到项目 A 的 settings.gradle :

include ':ProjectA', ':ProjectB'

project(':ProjectB').projectDir = new File('/dir/dir/ProjectB/')

同步 gradle 工作正常,但是当我清理和重建时,项目 A 无法解析项目 B 中的任何符号。

所以我在一个未解析的符号上 Alt-Enter 并单击“添加对模块项目 B 的依赖”,然后将以下内容添加到项目 A 的 gradle.build文件:
compile project(path: ':ProjectB')

但是 clean+build 也不起作用。

我试过改成
compile project(path: ':ProjectB', configuration: 'default')


implementation project(path: ':ProjectB')

但它们也不起作用。有任何想法吗?

使用 gradle 3.1.2,Android 3.1.2。 Ubuntu 16.04 LTS。

输出
ProjectA/build.gradle   
Unable to resolve dependency for ':ProjectA@debug/compileClasspath': Could not resolve project :ProjectB.
Unable to resolve dependency for ':ProjectA@debugAndroidTest/compileClasspath': Could not resolve project :ProjectB.
Unable to resolve dependency for ':ProjectA@debugUnitTest/compileClasspath': Could not resolve project :ProjectB.
Unable to resolve dependency for ':ProjectA@release/compileClasspath': Could not resolve project :ProjectB.
Unable to resolve dependency for ':ProjectA@releaseUnitTest/compileClasspath': Could not resolve project :ProjectB.

最佳答案

又是什么噩梦。我可以解决这个问题的唯一方法如下,我相信这是正确的方法。

创建一个 Android 库(不是 Java 库,否则您不能使用 Android 函数),然后加载您的库类/文件,并使用适当的实现语句(即依赖项)设置您的 gradle。但是您需要在这里小心,因为 Android Studio (AS) 在同一个项目中创建了“应用程序”和“库”模块。因此,请确保将库类放在正确的模块中,否则它不会生成 AAR 文件(与 JAR 不同)文件供您在外部其他地方包含。构建项目后,您将在 build/outputs/aar 中找到 AAR 文件。目录。

好的,现在您可以创建单独的应用程序,并将 AAR 文件用作依赖项。创建新的主项目后,转到项目结构并单击 +在 op 左侧添加一个新模块。从菜单中选择 Import JAR/AAR,然后将选择器指向 build 中的 AAR 文件。上面提到的文件夹。单击确定返回主窗口。然后选择主应用程序模块,然后单击依赖项选项卡并单击+添加一个模块。从列表中选择 AAR 模块,然后单击 OK 退出。

系统现在应该可以识别您的类并且没有 undefined symbol 。这是完美的工作,我非常喜欢它,因为它使用了一个很好的紧凑 AAR 文件。

关于android-studio - 无法解析 Android Studio 中的模块类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50295979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com