app模块build.gradle配置
apply plugin: 'org.jetbrains.dokka'
android{}外添加
dokkaHtml.configure {
moduleName.set("A10 Library")
// html格式
outputDirectory.set(file("$buildDir/dokka/html"))
// javaDoc格式
outputDirectory.set(file("$buildDir/dokka/JavaDoc"))
// 添加更多配置
dokkaSourceSets {
configureEach {
skipEmptyPackages.set(true)
includeNonPublic.set(false)
jdkVersion.set(8)
}
}
}
项目跟目录下的build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: 'git.gradle'
buildscript {
ext {
gradleVersion = '4.2.1'
kotlinVersion = '1.5.31'
hitVersion = "2.38.1"
kotlin_version = '1.5.31'
//1.5.31
dokkaVersion = '1.9.10'
}
repositories {
google()
mavenCentral()
maven{ url 'https://maven.aliyun.com/repository/public' }
maven{ url 'https://maven.aliyun.com/repository/google'}
maven{ url 'https://maven.aliyun.com/repository/jcenter'}
//zza
maven { url "http://repo.boundlessgeo.com/main"
allowInsecureProtocol = true }
maven { url "http://download.osgeo.org/webdav/geotools/"
allowInsecureProtocol = true}
maven { url "https://jitpack.io" }
}
dependencies {
classpath "com.android.tools.build:gradle:$gradleVersion"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hitVersion"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokkaVersion"
// classpath "com.github.ben-manes:gradle-versions-plugin:0.36.0"
// classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28.1-alpha'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
maven{ url 'https://maven.aliyun.com/repository/public' }
maven{ url 'https://maven.aliyun.com/repository/google'}
maven{ url 'https://maven.aliyun.com/repository/jcenter'}
maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'}
//zza
maven { url "http://repo.boundlessgeo.com/main"
allowInsecureProtocol = true}
maven { url "http://download.osgeo.org/webdav/geotools/"
allowInsecureProtocol = true}
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
然后执行命令
./gradlew dokkaHtml
或者
./gradlew dokkaJavaDoc
高版本配置:
app目录下build.gradle
import org.jetbrains.dokka.gradle.DokkaTask
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
id("org.jetbrains.dokka") version "1.9.10"
}
android {
namespace = "com.example.dokkademo"
compileSdk = 35
defaultConfig {
applicationId = "com.example.dokkademo"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
}
buildscript {
dependencies {
classpath("org.jetbrains.dokka:dokka-base:1.9.10")
classpath("org.jetbrains.dokka:kotlin-as-java-plugin:1.9.10")
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
implementation(libs.dokka.android.documentation.plugin)
}
// Dokka 配置
tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
// 公共配置
dokkaSourceSets {
configureEach {
moduleName.set("Dokka Demo")
includes.from("README.md")
displayName.set("Android")
jdkVersion.set(11)
perPackageOption {
matchingRegex.set("com\\.example\\.dokkademo\\.internal.*")
suppress.set(true)
}
}
}
}
// 配置不同格式的输出任务
val dokkaHtml by tasks.getting(org.jetbrains.dokka.gradle.DokkaTask::class) {
outputDirectory.set(file("$buildDir/dokka/html"))
pluginsMapConfiguration.set(
mapOf(
"org.jetbrains.dokka.base.DokkaBase" to """{
"customStyleSheets": [],
"customAssets": [],
"templatesDir": "",
"mergeImplicitExpectActual": false
}"""
)
)
}
// 检查任务是否已存在再注册
if (!tasks.names.contains("dokkaJavadoc")) {
tasks.register<DokkaTask>("dokkaJavadoc") {
outputDirectory.set(file("$buildDir/dokka/javadoc"))
// 明确设置为Javadoc格式
pluginsMapConfiguration.set(
mapOf(
"org.jetbrains.dokka.base.DokkaBase" to """{ "outputFormat": "javadoc" }"""
)
)
}
}
if (!tasks.names.contains("dokkaGfm")) {
tasks.register<DokkaTask>("dokkaGfm") {
outputDirectory.set(file("$buildDir/dokka/markdown"))
// 明确设置为GFM格式
pluginsMapConfiguration.set(
mapOf(
"org.jetbrains.dokka.base.DokkaBase" to """{ "outputFormat": "gfm" }"""
)
)
}
}
项目下build.gradle配置
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
id("org.jetbrains.dokka") version "1.9.10" apply false
alias(libs.plugins.android.library) apply false
}
tasks.register("clean", Delete::class) {
delete(rootProject.buildDir)
}