1. ホーム
  2. android

[解決済み] エラーです。Ionic 3 で org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25 を見つけられませんでした。

2023-06-24 08:25:58

質問

Ionic 3 の Android 用アプリを構築中に突然以下のエラーが発生しました。

Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25

Android Studioから1つの解決策があります。 ここで のようなものがありますが、build.gradleを以下のコードに変更しても、まだエラーが発生します。

buildscript {
    repositories {
        ...
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }
}

allprojects {
    repositories {
        ...
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }
}

Cordovaを更新し、上記の解決策を追加した後の私のbuild.gradleファイルは以下のようになります。

buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }

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

        classpath 'com.android.tools.build:gradle:3.3.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }

    //This replaces project.properties w.r.t. build settings
    project.ext {
      defaultBuildToolsVersion="28.0.3" //String
      defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
      defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
      defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

まだ同じエラーです。

どのように解決するのですか?

問題は cordova-support-google-services プラグインにあります。

このプラグインの build.gradle は、本日(2019年10月24日)現在、このような感じになっています。

dependencies {
    classpath 'com.android.tools.build:gradle:+'
    classpath 'com.google.gms:google-services:4.2.0'
}

より正確には、問題はこの依存関係にあります。

classpath 'com.android.tools.build:gradle:+'

これは依存関係を指定するための非常にもろい方法です。ここでの「+」記号は、"レポで利用可能な最新バージョンを取得する"を意味します。 もし新しいバージョンがリポジトリで公開され、それがビルドを破壊した場合、このプラグインを使用しているすべての人のプロジェクトが破壊されます。 これは今日起こったことです。取得された壊れたバージョンは com.android.tools.build:gradle:4.0.0 . これはいくつかのKotlinのものを必要とします。

これが、プロジェクトを確実にビルドするために、依存関係を常にフリーズさせる必要がある理由です。新しいものを信用してはいけません。この依存関係は、昨日と同じようにうまくコンパイルできます。

classpath 'com.android.tools.build:gradle:3.5.1'

CordovaやIonicをお使いの方は、ファイル内の依存関係を凍結することで、プロジェクトのビルドができるようにすることができます。

<projectroot>/platforms/android/cordova-support-google-services/<project>-build.gradle

しかし、これは決定的な解決策ではありません。Cordova経由でアンドロイドプラットフォームを再インストールすると、エラーが再び表示されます。プロジェクトのメンテナは、依存関係を凍結するか、gradle 4.0.0をサポートするように修正する必要があります。 その間は、このプラグインの修正されたフォークを使用してください。