Kotlin 错误: 找不到 org.jetbrains.Kotlin: Kotlin-stdlib-jre7:1.0.7

我将 Kotlin 插件安装到我的应用程序中(v1.1.1-release-Studio2.2-1) ,然后选择“在项目中配置 Kotlin”我选择了编译器和运行时版本1.0.7。科特林更新了我的格拉德尔档案。现在,当我试图建立在我得到:

错误: 配置项目“ : app”时出现问题。 无法解析配置“ : app: _ debug ApkCopy”的所有依赖项。 找不到 org.jetbrains.kotlin: kotlin-stdlib-jre7:1.0.7。 要求:

应用程序: app: 未指定

我不知道我错过了什么。

227008 次浏览

在项目级别 build.gradle中只使用此版本

Ext.kotlin _ version =’1.3.31’

删除其他版本

这将只适用于最新版本的 android Studio 3.4

更新: 尝试使用最新版本的 kotlin 和最新的 Android 工作室来避免错误。

kotlin-stdlib分成 kotlin-stdlib-jre7kotlin-stdlib-jre8只是在 Kotlin 1.1中引入的,这就是为什么依赖关系无法解决,包版本根本不存在。

看起来对项目文件的更新在某个时候失败了,并且将 Kotlin 版本设置为1.0.7。如果这是一个新的项目,没有什么阻碍你使用1.1.1,我会切换到那个。做完这些,你的问题就解决了。

在“ build.gradle”文件中,更改当前的 Kotlin 版本,然后按 synk:

ext.kotlin_version = '1.1.1'

看起来像是:

//顶级生成文件,您可以在其中添加所有子项目/模块的公共配置选项。

buildscript {
ext.kotlin_version = '1.1.1'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"


// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
  1. 请检查当前版本的科特林在下面的路径,

    C: Program Files Android Studio gradle m2itory org jetbrain kotlin-stdlib 1.0.5

改为该版本的 (1.0.5)在项目级别的档案。

你可以看到在你的上面的路径没有提到任何 Java-jre version,所以删除在你的应用程序级别的分级文件如下,

compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

从 Kotlin 1.1.2开始,与 org.jetbrains.kotlin组的依赖关系在默认情况下用应用插件的版本解决。您可以使用完全依赖符号手动提供版本,如:

compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

如果你的目标是 JDk 7或者 JDk 8,你可以使用 Kotlin 标准库的扩展版本,这些扩展版本包含了在新的 JDK 版本中添加的 API 的附加扩展函数。不要使用 kotlin-stdlib,而是使用以下依赖项之一:

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
buildscript {
**ext.kotlin_version = '1.1.1'**  //Add this line
repositories {
**jcenter()**                 //Add this line
google()
}
dependencies {
//        classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.android.tools.build:gradle:3.1.0'


// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}


allprojects {
repositories {
**jcenter()**                 //Add this line
google()
maven { url "https://jitpack.io" }
}
}

这就是对我有效的方法: 使用等级4.8.1

buildscript {
ext.kotlin_version = '1.1.1'
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'}
}
allprojects {
repositories {
mavenLocal()
jcenter()
google()
maven {
url "$rootDir/../node_modules/react-native/android"
}
maven {
url 'https://dl.bintray.com/kotlin/kotlin-dev/'
}
}
}

我已经解决了这个问题,使用取消选择 Settings中的 离线工作选项

enter image description here

如果你使用 Android Studio 3.2,一个新的解决方案,我通过向 build.gradle 项目添加 mavenCentral ()来解决这个问题:

buildscript {
ext.kotlin_version = '1.3.0'
repositories {
mavenCentral()
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"


}
}


allprojects {
repositories {
mavenCentral()
google()
jcenter()
}
}

您应该添加行作为这个订单,贷方是为 这个答案

更换

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
^
|
JRE = Java Runtime Environment

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
^
|
JDK = Java Development Kit

因为使用 jre 的版本是绝对的,所以只需替换并同步项目

官方文件 给你感谢链接@罗马军队

如果一个(传递性)依赖项仍然使用 Kotlin 库的 jre变体,你可以通过解析策略强制使用 jdk变体:

configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
details.requested.with {
if (group == "org.jetbrains.kotlin" && name.startsWith("kotlin-stdlib-jre")) {
details.useTarget(group: group, name: name.replace("jre", "jdk"), version: version)
details.because("Force use of 'kotlin-stdlib-jdk' in favor of deprecated 'kotlin-stdlib-jre'.")
}
}
}
}
}

如果你使用的是 Android Studio 3.2及以上版本,那么这个问题可以通过在 build.gradle 中添加 google ()和 jcenter ()来解决:

repositories {
google()
jcenter()
}

简单步骤:

  1. 单击文件 > 项目结构

  2. 单击“相关性”> 查找并单击 org.jetbrains.kotlin: kotlin-stdlib-jdk7:1.3.21(或者您当前的版本)

  3. 在“详细信息 > 更新”部分下,单击“[更新变量]”[更新 受养人]

  4. 点击 OK

在修复 build.gradle 版本之后,它开始工作了 4.0至3.5

Gradle (Project)

buildScript {
...
dependencies {
...
classpath 'com.android.tools.build:gradle:4.0.0-rc01'
}
}

Gradle/wrapper/gradle-wrapper. properties

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

有些图书馆需要 升级版,例如:

androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines"

GL

重新装载 sdk 也许问题解决了

如果你以后删除了 Jcenter,然后把这个添加到你的分级

repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}






allprojects {
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}

所以主要的问题是,在分级中加入 mavenCentral()maven { url "https://jitpack.io" }

在我的案例中,通过在 build.gradle文件中添加以下行解决了问题:

allprojects {
repositories {
jcenter()
google()
maven { url "https://jitpack.io" } //remember to add this line
}
}