Android Studio 中的库 - 如何不制作完整副本

Libraries in Android Studio - how not to produce a full copy

我正在从 Eclipse 迁移到 Studio。

我有一个 Eclipse 项目,它是我在其他项目中使用的各种点点滴滴的个人库。我已将该库项目成功导入 Studio。

当我导入使用该库的项目时,导入程序似乎将整个库项目、源和所有内容都复制到应用程序项目中。

这显然不是必需的。我已经尝试了很多事情并且浪费了很多时间来克服这个问题。所以...

问:在 Studio/Gradle 中,如何复制 Eclipse 功能项目/属性/Android/添加...以仅引用库项目而不生成独立的项目复制?

您可以在 settings.gradle 中使用 project().projectDir 属性 指定相对路径,如下所示:

 include ':lib'
 project(':lib').projectDir = new File('xxxxxx') // Relative file path from your settings.gradle

通过这种方式,您可以在项目中使用 lib 模块而无需克隆代码。

示例:

    Project0
    |--library
    |----build.gradle
    |build.gradle
    |settings.gradle

    Project1
    |--app
    |----build.gradle
    |build.gradle
    |settings.gradle

Project1/settings.gradle

include ':library'
project(':library').projectDir = new File(settingsDir, '../Project0/library')

Project1/app/build.gradle

dependencies {
   compile project(':library')
}