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')
}
我正在从 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')
}