【问题标题】:Installing dependencys with Gradle Kotlin DSL does not work使用 Gradle Kotlin DSL 安装依赖项不起作用
【发布时间】:2021-10-12 15:57:40
【问题描述】:

大家好,总的来说,我是 IntelliJ 的新手,尤其是 Gradle,我感觉自己完全是个菜鸟。 :D

我不确定这是否是 Kotlin DSL 的事情,或者我只是以错误的方式做它并且它在 Groovey 中也不起作用。

经过数小时的试验和错误以及阅读其他 SO 帖子后,我仍然无法安装简单的依赖项...不可能那么难...

目前我正在使用 Jetpack Compose for Desktop,尽管它仍处于 alpha 阶段并且可以正常工作,但看在上帝的份上,我无法添加依赖项。

所以这是我的问题:

我尝试像他们说的那样安装依赖项 https://developer.android.com/jetpack/compose/navigation#kts

是的,我知道它是一个 android 包,所以它可能无法编译,或者它可能在运行时崩溃,但它至少不应该找到并下载依赖项???

所以...如果我添加

implementation("androidx.navigation:navigation-compose:2.4.0-alpha10")

到我的 build.gradle.kts

并尝试编译它,我在构建过程中遇到异常:

到目前为止我尝试了什么:

我检查了存储库 maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") 谁在我的 build.gradle.kts repositories-section 和我的 settings.gradle.kts pluginManagement-section 中配置包含我想要的包。 https://mvnrepository.com/artifact/androidx.navigation/navigation-compose?repo=space-public-compose-dev 网站告诉我,存储库包含我需要的包。

我检查了错误日志本身。 但我不知道它想表达什么。 我使用 Java SDK16,因为我希望向下兼容并且依赖项仍处于 alpha 状态,我认为它应该是兼容的。 我使用 Kotlin 1.5.... 就是这样。

感谢您阅读所有内容 :) 非常感谢您抽出宝贵时间...如果我忘记了一些重要信息,请告诉我,我会尽快添加。

【问题讨论】:

    标签: kotlin gradle gradle-kotlin-dsl jetpack-compose-navigation


    【解决方案1】:

    我觉得的问题是,你基本上是打开了错误的文件。 (我不使用jetpack compose,所以答案可能会有所不同)

    在图片的左上角,有project下拉菜单,打开它并选择android

    现在 Gradle 文件夹中会有一组不同的文件,实际上,那个文件夹中会有 2 个不同的文件。

    1. build.gradle (project: <project_name>)
    2. build.gradle (Module: <project_name>.app)

    打开第二个文件,那里会有依赖复制+粘贴实现代码。

    您打开的文件实际上是第一个文件。

    【讨论】:

    • 如果这将是一个 Android 项目,你是对的,但问题是这是 Jetpack Compose for Desktop,因此这不是一个 Android 项目。我无法选择“Android”。似乎只有 Android 项目有第二个 build.gradle 文件,因为每个其他 Kotlin 项目只有一个 build.gradle 文件
    【解决方案2】:

    嗯……我又回来回答我自己的问题了。 在我切换到 IntelliJ Idea 中的终端后(老实说,在发布我的问题之前我本可以想到这一点),突出显示的文本给了我必要的洞察力,为什么它不起作用。

    在网上搜索了一些以找出“aar”文件是什么以及为什么我没有像我预期的那样得到一个 jar 文件后,事实证明 android 有它自己的用于 android 应用程序的小文件格式,而且这些不能用于常规的 java/kotlin 项目。

    我在某处读到,'aar' 文件包含一个 jar 文件和其他一些东西,从 aar 文件中提取 jar 文件可能是让它工作的一种方法,但它没有解决任何问题,可能是因为依赖项导航包的一部分也是 aar 文件,因此我也需要这些包并从中提取 jar 文件,这一切似乎都不是正确的方法......

    所以我想我必须等到桌面版 Jetpack Compose 能够以某种方式使用 aar 文件,或者直到存储库以常规 jar 文件的形式交付包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 2020-12-26
      相关资源
      最近更新 更多