2016-05-19 20 views
9

Bu gradle görevle benim Android projesi için javadoc üretme ediyorum kullanarak javadoc gelen R.java dışlamak için yol: O R.java dışlarSağ 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") 
    } 
} 

, bu yüzden çıktı R.html alamadım dir. Ancak, import com.mypackagename.R satırında, her zamanki java sınıfları için doc oluşturma sürecinde çok sinir bozucu hatalar alıyorum cannot find symbol class R. Ben R.string.string_res gibi yaygın android şeyler kullanır, bu yüzden bu ithalatı kaldıramıyorum. Dizine R sembolünü dahil etmenin uygun bir yolu var mı, ama bunu bir javadoc'a dahil etmiyor mu, yoksa en azından basitçe bu hatayı mı kaçırıyorsun?

cevap

2

Sen kodunun yanında iki satırı ekleyin deneyebilirsiniz:

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

Ancak bu durumda görev R sınıfları oluşturur görevlerinden biri bağlı olmalıdır

.