我正在编写一个 gradle 任务,它应该执行一个 java 应用程序,但我无法获取 Android 项目的类路径。
我的gradle任务:
task helloWorld(type: JavaExec) {
classpath = buildscript.configurations.classpath;
main = "com.test.HelloWorld";
}
这不起作用。
如何获取类路径(包括所有类和依赖项)?
最佳答案
我找到了源文件夹和库的解决方案。 但我仍然怀念android.jar。 此问题还有另一个问题:Finding android.jar for a own written Java task (in gradle)
class JavaTask extends JavaExec {
@Override
void exec() {
List<String> classpaths = new ArrayList<>(Arrays.asList(getClasspath().getAsPath().split(";")));
project.android.libraryVariants.all { variant ->
classpaths.add(variant.javaCompile.destinationDir.getPath());
}
org.gradle.api.artifacts.Configuration config = project.configurations.getByName("compile");
for (String path : config.getAsPath().split(";")) {
classpaths.add(path);
}
setClasspath(project.files(classpaths.toArray(new String[classpaths.size()])));
super.exec();
}
}
关于java - 在gradle中获取Android项目的classpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37963574/