如何将依赖项包含到.aar库中?

时间:2015-10-08 21:19:37

标签: android gradle android-gradle aar

我正在使用Android Studio 1.4

我的项目中有一个模块,它在build.gradle中有下一个依赖项:

dependencies {
    provided fileTree(dir: 'libs', include: ['*.jar'])
    provided 'junit:junit:4.12'
    apply plugin: 'com.google.gms.google-services'
    provided 'org.apache.directory.studio:org.apache.commons.io:2.4'
    provided 'com.google.android.gms:play-services:8.1.0'
    provided 'com.fasterxml.jackson.core:jackson-databind:2.2.0'
    provided 'com.fasterxml.jackson.core:jackson-core:2.2.0'
    provided 'com.fasterxml.jackson.core:jackson-annotations:2.2.0'
}

在构建projectn并同步gradle之后,我在我的module / build / ouputs / aar文件夹中获取了lib-release.aar。比我尝试文件>新模块>导入JAR \ AAR吧。然后,在添加

之后
compile project(':mylib-release')

我只在“外部库”树中获得了没有声明依赖关系的包。如何通过仅填写我的库来启用这些软件包的自动安装?

2 个答案:

答案 0 :(得分:6)

使用

compile fileTree(dir: 'libs', include: ['*.jar'])

而不是

provided fileTree(dir: 'libs', include: ['*.jar'])

答案 1 :(得分:2)

provided意味着您将针对依赖项进行编译,但在运行时,系统将通过类加载器使它们可用(它们不会捆绑在您的APK中)。

通常您要使用compile,而不是provided。一个provided依赖项的示例是Android SDK本身。如果你使用的是gradle,那么Android插件会在编译时处理它,并且你不需要明确地调用它。