Kotlinエラー:org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7が見つかりませんでした


101

Kotlinプラグインをアプリ(v.v1.1.1-release-Studio2.2-1)にインストールし、[プロジェクトでKotlinを構成する]を選択しました。コンパイラとランタイムバージョン1.0.7を選択しました。Kotlinは私のGradleファイルを更新しました。ビルドしようとすると、次のようになります。

エラー:プロジェクト ':app'の構成中に問題が発生しました。構成 ':app:_debugApkCopy'のすべての依存関係を解決できませんでした。org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7が見つかりませんでした。必須:

MyApplication:app:unspecified

ここで何が欠けているのかわかりません。


2
プロジェクトレベルの投稿gradle
Patel Pinkal 2017年

これは、AndroidのKotlinサポートを追加する方法です。kotlinlang.org
docs

回答:


160

取り替える

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

jreのバージョンは絶対なので、プロジェクトを置き換えて同期するだけです

公式ドキュメントはこちらリンクをありがとう@ ROMANARMY

ハッピーコーディング:)


1
ドキュメントの jdkとjreに関する役立つ情報。
R0MANARMY

いつかAndroidチームが少しだけではなく、少しでも簡単にできるようになると思います。少なくとも、ウェブログの深いところに埋め込むのではなく、変更ログに大きな変更を太字で書き込む:))
Farid

11
それは私の違いを見るために凝視の完全な分を要したjrejdk-Iが古くなっている必要があります。
James Wang

32

プロジェクトレベルでbuild.gradleは、このバージョンのみを使用します

ext.kotlin_version = '1.3.31'

他のバージョンを削除する

これはAndroid Studio 3.4の最新バージョンでのみ機能します

更新:エラーを回避するには、最新バージョンのkotlinを最新のAndroidスタジオで使用してみてください。


22
説明なしで使用する魔法のバージョンを指定する答えは、それほど役に立ちませんし、時間の経過とともにさらに役に立たなくなります。以前のバージョンからのアップグレードを提案していますか?または、上位バージョンにバグがあるため、上位バージョンからダウングレードしますか?
Don Hatch

3
@DonHatchこの回答は、Android Studio 2.2の3月に出されたもので、上記の質問でエラーの言及がありました。Android Studio 3.0以降には対応していません。
Patel Pinkal 2017

以下の@ 0xalihnの回答には、マジックバージョン番号なしの正しい解決策があります
Lou Morda

@PatelPinkalでは、最新のAndroid Studioバージョンの回答を更新できますか。
Arbaz.in

1
Androidスタジオの最新バージョンに従って回答を更新しました
Arbaz.in

21

割りkotlin-stdlibkotlin-stdlib-jre7し、kotlin-stdlib-jre8唯一の依存関係が解決できない理由の、パッケージのバージョンは、単に存在しないこと、Kotlin 1.1で導入されました。

ある時点でプロジェクトファイルの更新が失敗し、Kotlinのバージョンを1.0.7に設定したようです。これが新しいプロジェクトであり、1.1.1の使用を妨げるものがない場合は、それに切り替えます。これを実行すれば、問題はなくなるはずです。


3
説明していただきありがとうございます。いくつかの回答では、説明なしで1.1.1を使用していると述べており、将来的には回答が急速に役に立たなくなるでしょう。
Don Hatch

12

「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
    }
}

8

Kotlin 1.1.2以降、グループとの依存関係org.jetbrains.kotlinは、適用されたプラグインから取得したバージョンでデフォルトで解決されます。次のような完全な依存関係表記を使用して、手動でバージョンを提供できます。

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

JDK 7またはJDK 8を対象としている場合は、新しいJDKバージョンで追加されたAPIの追加の拡張関数を含むKotlin標準ライブラリの拡張バージョンを使用できます。kotlin-stdlibの代わりに、次の依存関係のいずれかを使用します。

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

6

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()
    }
}

この注文として行を追加する必要があります。クレジットはこの回答用です


4
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" }
    }
}

これがどのようにしてミハイルサラリの答えを改善するかについて詳しく説明することができます。
Nemo

3

Android Studio 3.2以降を使用している場合は、プロジェクトのbuild.gradleにgoogle()およびjcenter()を追加することで問題が解決します。

repositories {
        google()
        jcenter()
}

2

これは私にとってうまくいきました:Gradle 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/'
    }
  }
}   


1
  1. 以下のパスでKotlinの現在のバージョンを確認してください。

    C:\ Program Files \ Android \ Android Studio \ gradle \ m2repository \ org \ jetbrains \ kotlin \ kotlin-stdlib \ 1.0.5

(1.0.5)プロジェクトレベルのGradleファイルでそのバージョンに変更します。

上記のパスでjre versionJava- について言及されていないことがわかります。以下のように、アプリレベルのGradleファイルから削除してください。

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

1

build.gradle(プロジェクト)

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

一部のライブラリでは、更新されたGradleが必要です。といった:

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

GL


0

(推移的)依存関係がjreKotlinライブラリのバリアントを引き続き使用している場合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'.")
                }
            }
        }
    }
}

0

簡単な手順:

  1. [ファイル]> [プロジェクト構造]をクリックします

  2. [依存関係]> [検索してorg.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.21(または現在のバージョンが何であれ)]をクリックします。

  3. [詳細]> [更新]セクションで、[変数を更新] [依存関係を更新]をクリックします

  4. OKをクリック

宜しくお願いします


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.