如何将依赖项包含到 .aar 库中?
How to include dependencies into .aar library?
我正在使用 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'
}
构建项目并同步 gradle 后,我在 module/build/ouputs/aar 文件夹中获得了 lib-release.aar。比我尝试文件 > 新模块 > 导入 JAR\AAR 它。然后,添加
compile project(':mylib-release')
我在 "External Libraries" 树上得到的只是我的包,没有声明的依赖关系。如何通过仅编译我的库来启用这些包的自动安装?
provided
意味着您将针对依赖项进行编译,但在运行时,系统将通过 class 加载程序提供这些依赖项(它们不会捆绑在您的 APK 中)。
通常您会想要使用 compile
,而不是 provided
。 provided
依赖项的一个示例是 Android SDK 本身。如果您使用 gradle,Android 插件会在编译时处理使其可用,但是您不需要显式调用它。
使用
compile fileTree(dir: 'libs', include: ['*.jar'])
而不是
provided fileTree(dir: 'libs', include: ['*.jar'])
我正在使用 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'
}
构建项目并同步 gradle 后,我在 module/build/ouputs/aar 文件夹中获得了 lib-release.aar。比我尝试文件 > 新模块 > 导入 JAR\AAR 它。然后,添加
compile project(':mylib-release')
我在 "External Libraries" 树上得到的只是我的包,没有声明的依赖关系。如何通过仅编译我的库来启用这些包的自动安装?
provided
意味着您将针对依赖项进行编译,但在运行时,系统将通过 class 加载程序提供这些依赖项(它们不会捆绑在您的 APK 中)。
通常您会想要使用 compile
,而不是 provided
。 provided
依赖项的一个示例是 Android SDK 本身。如果您使用 gradle,Android 插件会在编译时处理使其可用,但是您不需要显式调用它。
使用
compile fileTree(dir: 'libs', include: ['*.jar'])
而不是
provided fileTree(dir: 'libs', include: ['*.jar'])