检索缓存的转换后的AAR依赖项类.jar

时间:2019-02-12 16:18:12

标签: android gradle aar

上下文

我正在尝试使用胖子在项目中实现Dokka。为了能够生成文档。我需要项目使用的依赖项的类路径。 Dokka接受jars作为类路径,以便能够生成文档。我使用Groovy生成Gradle任务,以便能够提取每个子项目的依赖项

问题

由于该项目使用AAR依赖项,因此我需要这些文件的classes.jar。

到目前为止我想到的是什么

我能够在.gradle缓存目录中检索AAR目录,但是正如我所说的那样,它指向AAR。我不想解压缩文件以能够提取其中的classes.jar,因为这将是非常繁重的性能。

def classpaths = []
subprojects.each { project ->
    classpaths.addAll(project.android.getBootClasspath().collect { it.path })

    project.configurations.each { configuration ->
        try {
            classpaths.addAll(configuration.files.collect { it.path })
        } catch (Exception ignored) {
        }
    }
}

此代码将检索大多数AAR。但这似乎并没有打印依赖项(例如Glide)

问题

如何为项目使用的所有依赖项获取依赖项或其类.jar路径的转换目录?我需要能够动态获取路径。

我需要的目录示例:/Users/user/.gradle/caches/transforms-1/files-1.1/glide-4.8.0.aar/efaa2fb5a51ab0ecf0ac00dd6a8d019b/jars/classes.jar

0 个答案:

没有答案