Ответ 1
Я столкнулся с концепцией "fatJar" здесь и здесь, который, кажется, синонимом "jar with dependencies" - но изменение моего приложения /build.gradle для чтения
...
task jarTask(type: Jar) {
baseName ="test-${project.archivesBaseName}"
from android.sourceSets.main.java
}
task fatJar(type: Jar) {
baseName = project.name + "-all"
from {configurations.compile.collect {it.isDirectory() ? it : zipTree(it)}}
with jarTask
}
configurations {
jarConfiguration
}
artifacts {
jarConfiguration fatJar
}
все еще дает ошибку, что package org.json does not exist
. Это связано с тем, что org.json
явно не вызывается как зависимость в файле app/build.gradle. В следующем приложении /build.gradle мой проект построил и запускал тесты, как ожидалось:
...
dependencies {
...
compile 'org.json:json:20090211'
}
task jarTask(type: Jar) {
baseName ="${project.archivesBaseName}"
from android.sourceSets.main.java
}
task fatJar(type: Jar) {
baseName = project.name + "-all"
from {configurations.compile.collect {it.isDirectory() ? it : zipTree(it)}}
with jarTask
}
configurations {
jarConfiguration
}
artifacts {
jarConfiguration fatJar
}
(Обратите внимание: если вы просто хотите задачу fatJar, вы можете просто установить from files({configurations.compile.collect {it.isDirector() ? it : zipTree(it)}}, android.sourceSets.main.java)