Как я могу использовать Gradle для создания баннера с необходимыми библиотеками в подпапке (например, Eclipse) для Android?

В Eclipse вы можете создать контейнер проекта с необходимыми зависимостями в соседней подпапке, выполнив...

  • Export- > Java- > Runnable JAR файл

  • Выберите вариант "Обработка библиотеки": скопируйте необходимые библиотеки в подпапку рядом с созданным JAR

Есть ли способ сделать это с помощью Gradle?

PS: Я работаю над gradle 2.2.1

Ответ 1

Вы можете создать задачу Gradle для копирования, например:

task copyLibs(type: Copy) {
    from('path/to/dir/with/lib/jars/')
    into('path/to/subfolder/next/to/generated/jar/')
    include('names.jar','of.jar','jars.jar','to.jar','copy.jar')
}

copyLibs.dependsOn(build)

Edit:

task combinedJar(type: Jar) {
   from zipTree("path/to/generated.jar")
   from "path/to/subfolder/next/to/generated/jar/"
}

combinedJar.dependsOn(copyLibs)

Запустите через gradlew copyLibs. Вы можете заставить задачу зависеть от задачи сборки, которая создает ваш проект.

Обратите внимание, что вам может понадобиться также создать path/to/subfolder/next/to/generated/jar/ в задаче.