2016-05-19 20 views
9

jestem generowania javadoc dla mojego projektu Android z tym Gradle zadania:prawy sposób, aby wykluczyć R.java z javadoc użyciem 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") 
    } 
} 

wyklucza ona R.java, więc nie dostać R.html produkcji reż. Jednak otrzymuję bardzo irytujące błędy cannot find symbol class R w procesie generowania dokumentu dla moich zwykłych klas java, w linii import com.mypackagename.R. Używam zwykłych rzeczy na Androida, takich jak R.string.string_res, więc nie mogę usunąć tego importu. Czy istnieje odpowiedni sposób dołączenia do indeksu symbolu R, ale nie można go dołączyć do javadoc, a przynajmniej po prostu, aby pominąć ten błąd?

Odpowiedz

2

Można spróbować dodać kolejne dwa wiersze kodu:

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

Ale w tym przypadku zadanie powinno być uzależnione od jednego z zadań, które generuje klasy R.

Powiązane problemy