Поскольку вы не используете Android Studio, а модуль зависимостей находится в каком-то другом месте, где он используется некоторыми другими проектами, вы можете подумать о копировании jar в каталог libs
после того, как модуль зависимостей завершит сборку.и создает банку для копирования.Таким образом, общее выполнение выглядит следующим образом:
- Задача 1. Создайте модуль зависимости
- Задача 2. Скопируйте файл JAR в определенное место, которое будет использоваться вашим приложением для Android.
- Задача 3. При создании приложения для Android скопируйте файл JAR из этого определенного места в каталог
libs
. - Задача 4. Создайте jar, используя
compile files('libs/jar-from-dependency.jar')
Теперь для Задачи 1 и 2: добавьте следующее в файл build.gradle
вашего модуля зависимостей.Следовательно, после создания модуля зависимостей, он скопирует jar-файл в местоположение, указанное в задаче копирования.Проверьте функцию копирования ниже, чтобы получить представление о том, как написать функцию копирования в Gradle.
apply plugin: 'java'
task finalize << {
println('Here use the copyTask to copy the jar to a specific directory after each build of your library module')
}
build.finalizedBy(finalize)
// compileJava.finalizedBy(copyJarToAndroid) <-- In your case
Вот документ для необходимых функций, связанных с этим.
Для Задачи 3: Теперь задача проста.Вам нужно скопировать банку из этого конкретного места в проект приложения Android перед сборкой с помощью gradle.Вот как вы можете инициировать задачу копирования перед сборкой проекта.
task copyFiles(type: Copy) {
description = 'Copying the jar'
from 'your/jar/directory'
into project(':Path:To:ModuleFrom:Settings.gradle').file('./libs')
include 'jar-from-dependency.jar'
}
project.afterEvaluate {
preBuild.dependsOn copyFiles
}
clean.dependsOn copyFiles
clean.mustRunAfter copyFiles
Это запустит задачу copyFiles
, когда начнется очистка люльки.
Следовательно, для Задачи 4: Добавьте банку в ваш раздел dependencies
.
dependencies {
// ... Other dependencies
compile files('libs/jar-from-dependency.jar')
}