繁体   English   中英

Android Jetpack Compose 导航中的依赖问题

[英]Dependency issues in navigation with Android Jetpack Compose

我正在探索文档中指定的撰写导航。

添加文档中指定的版本为2.4.0-alpha07的依赖项,会出现以下错误,

错误 1

检查 AAR 元数据值时发现的一个或多个问题:

在依赖项的 AAR 元数据 (META-INF/com/android/build/gradle/aar-metadata.properties) 中指定的 minCompileSdk (31) 大于此模块的 compileSdkVersion (android-30)。 依赖:androidx.navigation:navigation-compose:2.4.0-alpha07。 AAR 元数据文件:/Users/abhimanyu/.gradle/caches/transforms-3/0575ff5712e0a9c15b8d7424501c07b8/transformed/jetified-navigation-compose-2.4.0-alpha07/META-INF/com/android/build/metadata.aar特性。

此错误迫使我将应用程序的compileSdkVersiontargetSdkVersion从 30 升级到 31。

升级版本会出现这个错误,

错误 2

清单合并失败:针对 Android 12 及更高版本的应用需要为android: exported指定显式值,当相应的组件定义了意图过滤器时android: exported 有关详细信息,请参阅https://developer.android.com/guide/topics/manifest/activity-element#exported

为了解决这个问题,检查了这篇文章

即使在添加了android:exported ,我也遇到了同样的错误(错误 2)。

compileSdkVersion是否compileSdkVersion升级到 31?

如果是,如何解决错误2。如果不是,如何解决错误1?

如果可能的话,我个人更喜欢坚持使用 SDK 30。

现在发布的每个 AndroidX 库都使用 API 31 编译

您也可以在伴奏发行说明中查看:

Accompanist 现在是针对 SDK 31 构建的:这意味着您的应用程序还需要针对 SDK 31 进行编译 这是针对 SDK 31 构建的最新 AndroidX 版本所必需的。

只需在您的build.gradle

compileSdkVersion 31

但您应该始终使用最新的 SDK 进行编译,因为它不会改变您的应用程序行为。 这与您的targetSdkVersion ,您可以根据需要继续设置。

唯一的规则是:

minSdkVersion <= targetSdkVersion <= compileSdkVersion 

文档中的更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM