以编程方式将库添加到Android Studio中的gradle文件中

时间:2016-08-30 07:40:59

标签: android-studio android-activity gradle android-gradle android-library

有没有办法以编程方式将依赖项添加到gradle文件。

我的意思是,我想从活动中添加一个依赖/库来进行gradle。

2 个答案:

答案 0 :(得分:0)

我不这么认为。 Gradle用于构建您的应用程序,因此必须在构建应用程序之前指定依赖项。如果您可以添加活动的依赖关系,则必须构建应用程序才能使这些更改生效。

答案 1 :(得分:0)

由于Gradle使用build.gradle来构建项目,因此您无法在Activity中添加依赖项。您可以尝试编写自定义插件,但我不确定它是否正确。

在答案中阅读您的评论,您的请求是添加aar文件使用的依赖项。

aar 文件不包含嵌套(或transitive)依赖项,并且没有pom文件描述库使用的依赖项。

这意味着,如果您使用flatDir repo导入aar文件,则还必须在项目中指定依赖项。

解决方案是使用 maven存储库(您必须在私有或公共maven存储库中发布库)。
在这种情况下,由于gradle使用包含依赖项列表的pom文件下载依赖项,因此不会出现相同的问题。

要在Central Maven或JCenter中发布库,在答案中解释很长。 Hovewer你可以阅读这些帖子:

另一种方法是将模块添加为"外部模块"。
在项目中,您可以参考外部模块

只需使用:

Project
|__build.gradle
|__settings.gradle
|__app (application module)
   |__build.gradle

settings.gradle

include ':app' 
include ':myExternalLib'
project(':myExternalLib').projectDir=new   File('pathLibrary')

app/build.gradle

dependencies {
    compile project(':myExternalLib')
}

注意myExternalLib
您必须在另一个项目中使用库的路径,而不是项目的根