Gradle将编译依赖项添加到Proguard libraryjars

Chr*_*e B 4 proguard gradle

我正在尝试将编译依赖项(B.jar和C.jar)添加到proguard libraryjars.

运行:

println configurations.compile.collect()
Run Code Online (Sandbox Code Playgroud)

我明白了:

[../B.jar, ../C.jar]
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

task proguard(type: proguard.gradle.ProGuardTask) {
    ...
    libraryjars "${configurations.compile.collect()}"
    ...
}
Run Code Online (Sandbox Code Playgroud)

供参考,以下作品:

task proguard(type: proguard.gradle.ProGuardTask) {
    ...
    libraryjars "../B.jar"
    libraryjars "../C.jar"
    ...
}
Run Code Online (Sandbox Code Playgroud)

这显然是一个例子,我的真实项目有很多依赖.有任何想法吗?

Chr*_*e B 9

啊,它很简单:

libraryjars files(configurations.compile.collect())
Run Code Online (Sandbox Code Playgroud)


jav*_*jon 8

由于 Gradle 3.4+ 弃用了“编译”而支持“实现”(如此处所述),这有效:

libraryjars configurations.findByName('runtimeClasspath').getFiles()
Run Code Online (Sandbox Code Playgroud)