我要制作自定义库。在制作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'
}
答案 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'
}