如何保留 Android 库的源代码?
How to keep Source code for Android library?
我创建了一个小型 Android 库供个人使用,并通过 Jitpack 分发它。如果我通过 Gradle 将它添加到我的项目并去检查导入方法的源代码,我只能看到一个反编译的 .class 文件。我怎样才能为我的图书馆的消费者提供源代码?
然后不要将其添加为 Gradle 依赖项。而是将其添加为模块。
File -> New -> New Module
在此处添加您的源代码。
在应用级别添加此模块路径Gradle依赖
例如,如果您的模块名称是 MyModule
implementation project(':MyModule')
就是这样。一切顺利。
所以最后我像亨利和莫里森建议的那样使用 JAR 解决了这个问题:
在我的图书馆中 build.gradle:
apply plugin: 'maven-publish'
task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "sources"
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
// Applies the component for the release build variant.
from components.release
groupId = 'REPLACE WITH YOUR JITPACK ID (com.github.xxx)'
version = 'x.x'
// Adds javadocs and sources as separate jars.
artifact sourceJar
}
}
}
}
我创建了一个小型 Android 库供个人使用,并通过 Jitpack 分发它。如果我通过 Gradle 将它添加到我的项目并去检查导入方法的源代码,我只能看到一个反编译的 .class 文件。我怎样才能为我的图书馆的消费者提供源代码?
然后不要将其添加为 Gradle 依赖项。而是将其添加为模块。
File -> New -> New Module
在此处添加您的源代码。
在应用级别添加此模块路径Gradle依赖
例如,如果您的模块名称是 MyModule
implementation project(':MyModule')
就是这样。一切顺利。
所以最后我像亨利和莫里森建议的那样使用 JAR 解决了这个问题:
在我的图书馆中 build.gradle:
apply plugin: 'maven-publish'
task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "sources"
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
// Applies the component for the release build variant.
from components.release
groupId = 'REPLACE WITH YOUR JITPACK ID (com.github.xxx)'
version = 'x.x'
// Adds javadocs and sources as separate jars.
artifact sourceJar
}
}
}
}