我正在开发一个 Android 库,它将在活动中包含不同的屏幕。我最初想使用 Compose 作为 UI,但这种方法遇到了问题。在我的模块中,我需要使用 kotlinCompilerExtensionVersion 设置 Compose 选项。此版本应与将使用我的库的应用程序的特定 Kotlin 插件版本相匹配。但是,在不同的应用程序中,此版本可能会有所不同。有什么方法可以解决这个问题,或者使用 XML 视图是可行的方法吗?
仅当您将库与项目一起编译时,
kotlinCompilerExtensionVersion
才必须匹配。意思是如果您将您的库作为一个模块包含在implementation(project(':yourlibrary'))
之类的内容中,然后构建您的应用程序。
但是,如果您将库作为预编译的 aar 进行分发,例如使用 Maven 存储库,则它已经编译为 .aar,因此
kotlinCompilerExtensionVersion
并不重要。然后每个项目都可以通过通常的 gradle dsl 导入它:implementation('your:lib:1.0.0)
您可以通过创建一个新项目并将 .aar 库添加为文件来轻松测试这一点。或者使用 Gradle Maven 发布插件 将您的库发布到本地 Maven 存储库。只需将其添加到您的 gradle 中即可,例如
publishing {
publications {
release(MavenPublication) {
groupId = 'com.my-company'
artifactId = 'my-library'
version = '1.0'
afterEvaluate {
from components.release
}
}
}
}
然后运行
./gradlw publishToMavenLocal
另请参阅有关发布 Android 库的官方文档以获取更多信息。