android - 将 kotlin 导入我的子模块时同步失败
问题描述
我尝试在我的子模块中导入 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
我搜索了很多,但我找不到问题的原因和解决方案。有没有人遇到和我一样的问题??
解决方案
我找到了解决方案,但我不知道为什么......
在我的基础模块中
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
在我的应用程序模块中
buildTypes {
...
test {
...
matchingFallbacks = ['release', 'debug']
}
}
在我删除了基础模块中的matchingFallbacks或kotlin-plugin中的“调试”后,它工作正常。
推荐阅读
- symfony - Symfony 请求在 EventSubscriber 中不可用
- python - 日期格式不正确.. 隐藏密码的方法??Excel、Python、Mysql
- xcode - 对于 Xcode 10.x 中的开发,git 集成与 github 的工作情况如何?
- python-3.x - 没有名为 cy_yolo_findboxes 的模块
- java - 实现 Nashorn ClassFilter 等价物
- javascript - 在 nightwatch.js 中的单个元素中断言多个值
- arrays - 在R中查找数组中最近元素的最快方法
- c - 在 C 函数中修改变量或结构
- c# - 如何在 .NET Core 2.x 中本地化 URL?
- python - 使用 BS,当某些迭代中缺少行时循环标记 python3