将 Andorid 库添加到 Jetpack Compose 项目,构建失败,合并清单中的“Uninitialized.application.id”

Posted

技术标签:

【中文标题】将 Andorid 库添加到 Jetpack Compose 项目,构建失败,合并清单中的“Uninitialized.application.id”【英文标题】:Add Andorid library to Jetpack Compose project, build failed with "Uninitialized.application.id" in Merged Manifest 【发布时间】:2021-10-27 01:21:48 【问题描述】:

我在 android Studio Arctic Fox 2020.3.1 上使用“Empty Compose Activity”创建了一个新的 compose 项目;然后在项目中添加了一个新的 Android 库。当我尝试构建项目时,它显示“构建:失败”

【问题讨论】:

我在你的库的清单文件中看到一个奇怪的包名。添加 android 库时,您是否为其指定了包名? 为什么要将该包属性添加到清单中?好吧,如果您不是,那么您需要在应用程序级别构建中添加一个规范。像plugin <name> 这样的名称是要添加的库中的名称 我在迁移当前项目以使用 Jetpack compose 时遇到了合并问题。因此,我使用 Android 库 myLib 创建了一个新的撰写项目 Test1Compose,以查看是否可以重现相同的问题。我没有更改清单文件,它们是使用默认设置创建的新项目。 【参考方案1】:

我在使用命令后发现并修复了问题:./gradlew build

Compose 编译器的此版本 (1.0.0) 需要 Kotlin 版本 1.5.10,但您似乎使用的是未知兼容的 Kotlin 版本 1.5.20。请修正你的配置(或suppressKotlinVersionCompatibilityCheck,但不要说我没有警告你!)。

与Merged Manifest中的“Uninitialized.application.id”无关

【讨论】:

以上是关于将 Andorid 库添加到 Jetpack Compose 项目,构建失败,合并清单中的“Uninitialized.application.id”的主要内容,如果未能解决你的问题,请参考以下文章

将 jetpack compose 添加到现有项目

andorid jar/库源码解析

Jetpack架构组件库:LifecycleLiveDataViewModel

Jetpack架构组件库:LifecycleLiveDataViewModel

Jetpack Compose中的导航路由

Android Jetpack中DataBinding将布局视图绑定到架构组件