AdnroidStudio下javaDoc任务相关配置

  这两天用AndroidStudio打包工程,中间涉及到task javaDoc,记录下对这方面的相关配置:

  1.如果工程中涉及到中文的话,在执行javaDoc任务时可能会报中文编码问题,这个问题在之前AndroidStudio上传jcenter及各种实现方式的比较中提到过,两种解决方案,另外也可以尝试配置全局的编码格式,具体步骤:找到工程根目录下build.gradle,在allprojects中添加相关配置,就像这样:

allprojects {
    repositories {
        jcenter()
    }
    tasks.withType(org.gradle.api.tasks.compile.JavaCompile){
        options.encoding="UTF-8"
        options.compilerArgs << "-Xlint:unchecked"
    }
}
这里主要就看tasks.withType(ort.gradle.api.tasks.compile.JavaCompil)这一段代码就行了,下面那个options.compilerArgs,这是用来配置在生成javaDoc文档时,lint不进行检查,这是针对lint检查最简单粗暴的方法,因为有时候可能会直接拷贝别人的源码,这样如果人家的源码中在执行javaDoc时出现问题就不好调了,而且去弄人家的东西也比较麻烦,注意,这种方式,不仅第三方源码不检查了,就连自己的代码也不会检查了,这是全局的,当然还有另外一种处理项目中第三方源码的方法

  2.去除javaDoc对第三方源码的编译,这种方式就可以有效避免因为第三方源码带来的lint检查问题,具体操作:task javaDoc中添加exclude项进行配置,点进去看这个exclude方法就会发现这是支持字符串数组的方法:

    /**
     * {@inheritDoc}
     */
    public SourceTask exclude(String... excludes) {
        patternSet.exclude(excludes);
        return this;
    }
配置exclude的代码如下:
task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    exclude "第三方源码的目录","第三方源码的目录","第三方源码的目录"
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
直接这样就可以了,注意这里配置的目录中间应该以"/"分开,包名可能是:com.example.project.openresource,那么第一个引号中就应该填入"com/example/project/openresource"即可。

你可能感兴趣的:(AdnroidStudio下javaDoc任务相关配置)