当前位置: 首页 > 知识库问答 >
问题:

将kotlin导入到我的子模块时同步失败

纪秋月
2023-03-14

我尝试在子模块中导入kotlin:

项目级别

...
buildscript {
    ext.kotlin_version = '1.3.21'
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        ...
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
...

模块级

apply plugin: 'kotlin-android'
...
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    ...
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

ERROR: Unable to resolve dependency for ':app@develop/compileClasspath': Could not resolve project :libraries:Foundation.
Show Details
Affected Modules: app
Caused by: java.lang.NullPointerException
        at com.google.common.collect.UsingToStringOrdering.compare(UsingToStringOrdering.java:33)
        at org.gradle.api.internal.attributes.DefaultDisambiguationRuleChain$ExceptionHandler.handleException(DefaultDisambiguationRuleChain.java:99)
        at org.gradle.api.internal.attributes.DefaultDisambiguationRuleChain$ExceptionHandler.handleException(DefaultDisambiguationRuleChain.java:87)
        at org.gradle.internal.action.InstantiatingAction.execute(InstantiatingAction.java:44)
        at org.gradle.api.internal.attributes.DefaultDisambiguationRuleChain.execute(DefaultDisambiguationRuleChain.java:75)
        at org.gradle.api.internal.attributes.DefaultDisambiguationRuleChain.execute(DefaultDisambiguationRuleChain.java:38)
        at org.gradle.api.internal.attributes.DefaultAttributesSchema$MergedSchema.disambiguate(DefaultAttributesSchema.java:183)
        at org.gradle.internal.component.model.MultipleCandidateMatcher.disambiguateWithAttribute(MultipleCandidateMatcher.java:215)
        at org.gradle.internal.component.model.MultipleCandidateMatcher.disambiguateWithRequestedAttributes(MultipleCandidateMatcher.java:202)
        at org.gradle.internal.component.model.MultipleCandidateMatcher.disambiguateCompatibleCandidates(MultipleCandidateMatcher.java:192)
        at org.gradle.internal.component.model.MultipleCandidateMatcher.getMatches(MultipleCandidateMatcher.java:111)
        at org.gradle.internal.component.model.ComponentAttributeMatcher.match(ComponentAttributeMatcher.java:123)
        at org.gradle.api.internal.attributes.DefaultAttributesSchema$DefaultAttributeMatcher.matches(DefaultAttributesSchema.java:156)
        at org.gradle.internal.component.model.AttributeConfigurationSelector.selectConfigurationUsingAttributeMatching(AttributeConfigurationSelector.java:40)
        at org.gradle.internal.component.model.LocalComponentDependencyMetadata.selectConfigurations(LocalComponentDependencyMetadata.java:117)
        at org.gradle.internal.component.local.model.DslOriginDependencyMetadataWrapper.selectConfigurations(DslOriginDependencyMetadataWrapper.java:60)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.EdgeState.calculateTargetConfigurations(EdgeState.java:166)
        ... 105 more

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

共有1个答案

葛安和
2023-03-14

我找到了解决办法但我不知道为什么...

在我的基础模块中

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

在我的应用程序模块中

buildTypes {
    ...
    test {
        ...
        matchingFallbacks = ['release', 'debug']
    }
}
 类似资料:
  • 问题 你想给某个已存在模块中的函数添加装饰器。 不过,前提是这个模块已经被导入并且被使用过。 解决方案 这里问题的本质就是你想在模块被加载时执行某个动作。 可能是你想在一个模块被加载时触发某个回调函数来通知你。 这个问题可以使用10.11小节中同样的导入钩子机制来实现。下面是一个可能的方案: # postimport.py import importlib import sys from coll

  • 我正在尝试将angular2模块导入到我的项目中。 这个模块将帮助我使用json rpc从我们的ERP系统ODOO中获取数据。 下面是模块的链接:https://www.npmjs.com/package/angular2-odoo-jsonrpc。 到目前为止我所做的是:从“@Angular/core”导入{Component};从“angular2-odoo-jsonrpc”导入{OdooRP

  • 我的项目有以下结构: 以下是的部分内容:

  • 我有一个这样的目录: 我可以这样导入父模块: 那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么?我已经尝试了,,等。 有什么建议吗? 谢谢

  • 我已经将volley库克隆为 我如何将其作为模块导入到我的android studio项目中,该项目由gradle提供支持,类似于IntelliJ Idea中的“导入模块”选项。

  • 问题内容: 已经使用了平面软件包,我没想到嵌套软件包会遇到这个问题。这是… init .py的内容 这两个和是空的。 内容 内容(3个版本) 版本1 这是导入事物的坏方法和不安全方法(批量导入所有内容),但是它可以工作。 版本2 一种逐项导入的更安全的方法,但是失败了,Python不希望这样:失败,并显示消息:“没有名为模块的模块”。但是…… ……说。所以这是一个模块,但不是一个模块/ -P 8-