Я пытаюсь скопировать некоторые jar-файлы зависимостей в classes.jar, прежде чем он будет собран в AAR.Следующий код был скопирован из другого поста и получил нужные мне файлы, но я не могу объединить их с уже созданными в папке packaged-classes.
Я уже пытался использовать некоторые жирные файлыплагины, которые доступны там, но не заставили их работать.
Вот что я пытаюсь сделать:
task copyDependencies << {
android.libraryVariants.all { variant ->
println "Executing"
variant.getCompileClasspath().each { fileDependency ->
def sourcePath = fileDependency.absolutePath
def destinationPath = project.projectDir.path + "/build/intermediates/packaged-classes/debug"
println "Copying dependency:"
println sourcePath
//The monstrous regex that gets the name of the lib from it’s exploded .aar path
def dependencyName
if (sourcePath.contains("classes.jar")) {
def dependencyNameRegexResult = (sourcePath =~ /.*\/(.*)\.aar\/.*\/jars\/classes\.jar/)
if (dependencyNameRegexResult.size() > 0) {
dependencyName = dependencyNameRegexResult[0][1]
println "Exploded AAR found : ${dependencyName}"
}
}
copy {
from sourcePath
into destinationPath
rename {String filename ->
if (filename.contains("classes.jar") && dependencyName != null) {
dependencyName = "${dependencyName}.jar"
println "Renaming dependency file to : ${dependencyName}"
return dependencyName
}
return filename
}
}
}
}
}
tasks.whenTaskAdded { task ->
if (task.name == 'assembleDebug') {
task.dependsOn copyDependencies
}
}
Когда я выполняю это, папка intermediates/packaged-classes
У меня есть зависимости .jar внутри classes.jar, но в папке output находится только файл плагина .jar.