我正在开发一个Android库,它将在一个活动中包含不同的屏幕.我最初想为用户界面使用Compose,但我在使用这种方法时遇到了问题.在我的模块中,我需要使用kotlinCompilerExtensionVersion设置Compose选项.这个版本应该匹配具体的Kotlin插件版本的应用程序,将使用我的库.然而,在不同的应用程序中,这一版本可能会有所不同.有什么方法可以解决这个问题吗?或者使用XML视图是可行的吗?
我正在开发一个Android库,它将在一个活动中包含不同的屏幕.我最初想为用户界面使用Compose,但我在使用这种方法时遇到了问题.在我的模块中,我需要使用kotlinCompilerExtensionVersion设置Compose选项.这个版本应该匹配具体的Kotlin插件版本的应用程序,将使用我的库.然而,在不同的应用程序中,这一版本可能会有所不同.有什么方法可以解决这个问题吗?或者使用XML视图是可行的吗?
只有在你用你的项目编译你的库的时候,kotlinCompilerExtensionVersion
才需要匹配.这意味着如果你把你的库作为一个模块包含在implementation(project(':yourlibrary'))
之类的东西中,然后构建你的应用程序.
但是,如果您将库作为预编译的AAR分发,例如使用maven存储库,它已经被编译成.aar,因此kotlinCompilerExtensionVersion
实际上并不重要.然后每个项目都可以通过常用的Gradle DSL:implementation('your:lib:1.0.0)
导入它
您可以通过创建一个新项目并将.aar库添加为文件来轻松测试这一点.或者使用Gradle Maven publish plugin将您的库发布到本地maven存储库.只需将其添加到您的gradle中,
publishing {
publications {
release(MavenPublication) {
groupId = 'com.my-company'
artifactId = 'my-library'
version = '1.0'
afterEvaluate {
from components.release
}
}
}
}
然后跑./gradlw publishToMavenLocal
有关更多信息,请参阅关于发布Android库的official docs篇文章.