我一直在尝试将一个库项目作为依赖项添加到Android Studio中的另一个库项目,但没有成功。以下是我的项目结构:
- apps
- demo (depends on android utilities & android ui)
- libraries
- android utilities
- utilities
- android ui
- ui (depends on android utilities)
我使用以下指南 Add local Library Project as a dependency to multiple Projects in Android Studio
...
apply plugin 'com.android.library'
...
include ':ui'
include ':utilities'
project(':utilities').projectDir = new File(settingsDir, '../android utilities/utilities')
...
apply plugin 'com.android.library'
...
dependencies {
compile project(':utilities')
}
我将 Android Utilities 和 Android Ui 设置为单独的项目,我能够毫无问题地编译 Android Utilities 项目。但是,我无法编译单独的 Android Ui 项目。 Android Studio本身并不表示任何错误,但gradle会从不存在的实用程序库中产生有关包的多个错误。
答案 0 :(得分:1)
我的项目中遇到了类似问题,但设法解决了这个问题。您是否有超过1 构建风格 ?
我最终要做的是在库中添加以下内容(在您的案例中为 /ui/ui/build.gradle ),其中 buildFlavor1 和 buildFlavor2 - 是您应用中使用的构建变体。我认为问题是因为Gradle在解析依赖关系时不知道可能的配置,所以他无法为每个构建风格正确选择库。希望这有帮助!
configurations {
buildFlavor1DebugCompile
buildFlavor2DebugCompile
buildFlavor1ReleaseCompile
buildFlavor2ReleaseCompile
}
dependencies {
...
buildFlavor1DebugCompile project(path: ':utilities', configuration: 'buildFlavor1Debug')
buildFlavor2DebugCompile project(path: ':utilities', configuration: 'buildFlavor2Debug')
buildFlavor1ReleaseCompile project(path: ':utilities', configuration: 'buildFlavor1Release')
buildFlavor2ReleaseCompile project(path: ':utilities', configuration: 'buildFlavor2Release')
}
答案 1 :(得分:0)
您没有正确的语法。这样:
include 'ui'
应该是这样的:
include ':ui'
(你错过了结肠)