android - 如何将 javadoc/sources 与 aar 库捆绑在一起
问题描述
我正在为 Android 发布一个开源库。我想用它打包源代码/javadoc,以便用户在 Android Studio 中使用自动完成时可以看到文档。
我不希望用户必须手动导入sources.jar
文件;我希望这会自动发生。这个链接声称如果代码是开源的,它可以很容易地完成,但它没有详细说明如何。
谁能解释一下如何?我在 SO 和 Google 的答案中找到的方法对我不起作用。这是我的build.gradle,它尝试包含.aar sources.jar
,但它从未包含在最终的 .aar 中:
apply plugin: 'com.android.library'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
minSdkVersion 18
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
task classesJar(type: Jar) {
from "$buildDir/intermediates/classes/release"
}
artifacts {
archives classesJar
archives javadocJar
archives sourcesJar
}
解决方案
推荐阅读
- javascript - FadeIN FadeOUT 页面转换 javascript bug
- php - PHP:避免在写入文件时为多行字符串自动添加换行符
- android - 如何使用 Gson 解析包含数组的 JSON 文件
- typo3 - 您如何调试/跟踪 Fluid 中的问题?
- excel - Excel VBA - 在所有工作表中搜索同一列,查找任何数据
- variables - 当条件满足时,我需要使用ansible替换模块替换jinja2模板中变量的内容
- python - 在 Flask 中将配置文件作为字典读取
- python-3.x - 如何在 Holoviews 中设置活动工具
- java - 为什么要在关闭 Java Executor 时保留中断状态?
- java - WebRTC,捕获屏幕