2016-05-19 20 views
9

Ich Erzeugung javadoc für mein Android-Projekt mit dieser gradle Aufgabe auszuschließen:Richtiger Weg R.java von javadoc mit gradle

android.applicationVariants.all { variant -> 
    task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) { 
     description "Generates Javadoc for $variant.name." 
     source = variant.javaCompile.source 
     classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath()) 
     exclude '**/BuildConfig.java' 
     exclude '**/R.java' 
     options.links("http://docs.oracle.com/javase/7/docs/api/"); 
     options.linksOffline("http://d.android.com/reference","${android.sdkDirectory}/docs/reference"); 
     options { 
      failOnError false 
     } 
     destinationDir = file("${project.projectDir}/javadoc") 
    } 
} 

Es R.java schließt, so dass ich nicht bekommen R.html in Ausgabe Richt. Allerdings bekomme ich sehr ärgerlich Fehler cannot find symbol class R bei der Generierung Doc für meine üblichen Java-Klassen, in der Zeile import com.mypackagename.R. Ich benutze gewöhnliche Android-Dinge wie R.string.string_res, also kann ich diesen Import nicht entfernen. Gibt es eine geeignete Möglichkeit, das Symbol R in den Index aufzunehmen, es aber nicht in ein Javadoc aufzunehmen oder diesen Fehler zumindest zu unterdrücken?

Antwort

2

Sie können versuchen, nächsten zwei Zeilen, um Ihren Code hinzuzufügen:

classpath += files("build/generated/source/r/${variant.flavorName}/release") 
classpath += files("build/generated/source/buildConfig/${variant.flavorName}/release") 

Aber in diesem Fall Ihre Aufgabe auf eine der Aufgaben abhängen sollte, die R-Klassen erzeugt.

Verwandte Themen