android - 错误:在Ionic 3中找不到org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25




cordova ionic-framework (5)

编辑10/28/19:

cordova-support-google-services今天更新为版本1.3.2,该版本将类路径从 classpath 'com.android.tools.build:gradle:+' 更改

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

这似乎修复了kotlin错误

原始答案

我通过执行以下操作成功构建了我的:

我编辑了平台-> android-> cordova-support-google-services-> myAppName-build.gradle

并改变了

maventCentral()

    maven { url "https://maven.google.com" }
    maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }

那解决了kotlin错误,然后我得到了另一个错误,通过更改

classpath 'com.google.gms:google-services:4.2.0'

classpath 'com.google.gms:google-services:4.1.0'

然后,它成功构建。

在为Android构建Ionic 3应用程序时,突然出现以下错误。

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

我们这里有一个来自Android Studio的解决方案,但是在我用以下代码对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
}

还是一样的错误。


以上都不对我有用。 我最终删除了google-services插件并添加了它。

cordova plugin rm cordova-support-google-services cordova plugin add cordova-support-google-services


在我的项目中,我这样修复。(我在科特林的项目)

buildscript{

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

}

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

离子v3和Cordova的解决方案

@史密斯先生解决方案解决了我的问题

你必须去文件

platforms/android/cordova-support-google-services

然后

更换

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

通过

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

我发现的@替代解决方案是

setup kotlin in your system :)

问题出在Cordova的 cordova-support-google-services 插件上。

截至今天(2019年10月24日),此插件的 build.gradle 如下所示:

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重新安装android平台,该错误将再次显示。 项目维护者应冻结依赖关系或对其进行修复以支持gradle 4.0.0。 同时,只需使用此插件的固定分叉即可。