android 库中的 kotlinCompilerExtensionVersion

问题描述 投票:0回答:1

我正在开发一个 Android 库,它将在活动中包含不同的屏幕。我最初想使用 Compose 作为 UI,但这种方法遇到了问题。在我的模块中,我需要使用 kotlinCompilerExtensionVersion 设置 Compose 选项。此版本应与将使用我的库的应用程序的特定 Kotlin 插件版本相匹配。但是,在不同的应用程序中,此版本可能会有所不同。有什么方法可以解决这个问题,或者使用 XML 视图是可行的方法吗?

android kotlin android-jetpack-compose android-library
1个回答
0
投票

仅当您将库与项目一起编译时,

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 库的官方文档以获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.