为什么没有在我的自定义库中添加support-v4依赖项

时间:2018-06-21 05:51:33

标签: android android-gradle android-library

我要制作自定义库。在制作aar之后,将其导入另一个未找到支持依赖项。

我的图书馆摇篮是:

dependencies {
     implementation fileTree(include: ['*.jar'], exclude: ['classes2.jar'], dir: 'libs')
     compileOnly files('libs/classes2.jar')

     implementation 'com.android.support:support-v4:27.1.1'
     implementation 'com.android.support:multidex:1.0.1'
}

1 个答案:

答案 0 :(得分:1)

该问题是因为您使用的是implementation

  

当您的模块配置实现依赖项时,它会让Gradle知道该模块不想在编译时将该依赖项泄漏给其他模块。也就是说,该依赖项仅在运行时可用于其他模块。

依赖于自定义库的模块将看不到支持库。因此,您需要使用api

  

当模块包含api依赖项时,它会让Gradle知道该模块希望将该依赖项可传递地导出到其他模块,以便它们在运行时和编译时均可用。此配置的行为就像编译(现在已弃用)一样,通常应仅在库模块中使用此配置。

将您的依赖项块更改为以下内容:

dependencies {
     implementation fileTree(include: ['*.jar'], exclude: ['classes2.jar'], dir: 'libs')
     compileOnly files('libs/classes2.jar')

     api 'com.android.support:support-v4:27.1.1'
     api 'com.android.support:multidex:1.0.1'
}