【发布时间】:2015-02-19 05:39:04
【问题描述】:
我正在将我的所有项目从 Eclipse 迁移到 Android Studio(1.0.2,昨天刚刚下载),但外部模块出现问题。
在 Eclipse 中,我有这样的工作区
所有活动、片段、模型和类都在“核心”项目中。 Core 项目需要一些库才能工作(例如 Google Play Service、Facebook 或 Twitter),而 App 1、App 2、App 3 等只是标记应用程序。这些应用程序除了图标、配置文件、加载图像等不包含任何内容。
我设法将“核心”应用程序及其所有依赖项作为新项目导入 Android Studio。当我构建核心时,我收到了 0 个错误和 0 个警告
然后,我创建一个名为“Test”的新项目,并按照从这个问题中选择的答案将“Core”项目链接到它
How to share a single library source across multiple projects
测试项目的setting.gradle
include ':Test'
include '..:..:AppyCore:Core'
测试项目的build.gradle
dependencies {
compile 'com.android.support:support-v4:+'
compile project('..:..:AppyCore:Core')
}
但是,当我重建项目时,我得到了这个错误
Error:(41, 0) Project with path ':SlidingMenu' could not be found in project '..:..:AppyCore:Core'
当我双击错误消息时,IDE 会显示 Core 项目的 build.gradle 并突出显示文件的依赖部分,如下所示
似乎当我尝试构建“测试”项目时,它无法找到“核心”项目的所有依赖项。你知道如何解决这个问题吗?
注意
- 我相信“Core”项目设置已经正确,因为我确实创建了“Test 2”应用程序并将“Core”项目导入同一个根目录,同一个项目。它工作没有任何问题。但这不是一个选择,因为我实际上有大约 20 多个白标应用程序。如果每个应用都有自己的“核心”,那么逐个更新将非常困难。
-
我认为我包含的目录是正确的,否则,我会得到这个错误
“错误:未找到名称为 'default' 的配置。”
(我尝试故意放错目录并得到同样的错误)
【问题讨论】:
-
哇...我喜欢你的问题。这必须作为示例问题引用。干得好!
-
我建议在您的 settings.gradle 文件中使用
projectDir而不是..:..语法。这可能有助于解开依赖关系。见stackoverflow.com/questions/24658422/… -
我知道这个问题有点老了,但如果你还没有弄明白,最好能发布你不同的 build.gradle 文件和 settings.gradle 文件。
标签: android android-studio android-gradle-plugin