【问题标题】:Get classpath of Android project in gradle在 gradle 中获取 Android 项目的类路径
【发布时间】:2016-06-22 09:14:36
【问题描述】:

我正在编写一个 gradle 任务,它应该执行一个 java 应用程序,但我无法获取我的 Android 项目的类路径。

我的毕业任务:

task helloWorld(type: JavaExec) {
  classpath = buildscript.configurations.classpath;
  main = "com.test.HelloWorld";
}

这不起作用。

如何获取类路径(包括所有类和依赖项)?

【问题讨论】:

标签: java android android-studio gradle build


【解决方案1】:

我找到了源文件夹和库的解决方案。 但我仍然想念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();
    }
}

【讨论】:

    【解决方案2】:

    请检查此问题的第二个答案: https://stackoverflow.com/a/40515402/3130610

    它成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多