Beim Erstellen der Ionic 3-App für Android wird plötzlich der folgende Fehler angezeigt.
Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25
Wir haben hier eine Lösung von Android Studio , aber nachdem ich mein build.gradle mit dem folgenden Code geändert habe, wird immer noch der Fehler angezeigt.
buildscript {
repositories {
...
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
}
allprojects {
repositories {
...
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
}
Meine build.gradle-Datei sieht folgendermaßen aus, nachdem ich meine Cordova aktualisiert und die obige Lösung hinzugefügt habe.
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
}
Immer noch der gleiche Fehler.
android
cordova
ionic-framework
ionic3
build.gradle
Tapas Mukherjee
quelle
quelle
...
die anderen Repositorys eingefügt und gelöscht, die bereits vorhanden waren?gradle:3.0.1
sich befinden.Antworten:
Das Problem liegt im
cordova-support-google-services
Plugin für Cordova.Dieses Plugin
build.gradle
sieht ab heute (24. Oktober 2019) folgendermaßen aus:Genauer gesagt liegt das Problem in dieser Abhängigkeit:
Dies ist eine äußerst spröde Methode, um Abhängigkeiten anzugeben. Das Pluszeichen bedeutet hier "die aktuellste im Repo verfügbare Version abrufen". Wenn eine neuere Version im Repo veröffentlicht wird und der Build unterbrochen wird, sind die Projekte aller Benutzer dieses Plugins fehlerhaft. Das ist heute passiert. Die defekte Version, die abgerufen wird, ist
com.android.tools.build:gradle:4.0.0
. Es erfordert einige Kotlin-Sachen.Aus diesem Grund müssen Sie Abhängigkeiten IMMER einfrieren, um Ihr Projekt zuverlässig zu erstellen. Vertraue niemals den neueren Sachen. Diese Abhängigkeit lässt sich genauso gut kompilieren wie gestern:
Wenn Sie Cordova oder Ionic verwenden, können Sie eine schnelle Lösung vornehmen, um das Projekt erstellen zu können, indem Sie die Abhängigkeit in der Datei einfrieren:
Dies ist jedoch keine endgültige Lösung. Wenn Sie die Android-Plattform über Cordova neu installieren, wird der Fehler erneut angezeigt. Der Projektbetreuer sollte die Abhängigkeit entweder einfrieren oder korrigieren, um Gradle 4.0.0 zu unterstützen. Verwenden Sie in der Zwischenzeit einfach eine feste Gabel dieses Plugins.
quelle
EDIT 28.10.19:
cordova-support-google-services wurde heute auf Version 1.3.2 aktualisiert, die den Klassenpfad von ändert
classpath 'com.android.tools.build:gradle:+'
zu
classpath 'com.android.tools.build:gradle:3.+'
Das scheint den Kotlin-Fehler zu beheben
Ursprüngliche Antwort
Ich habe meine erfolgreich gebaut, indem ich Folgendes getan habe:
Ich habe Plattformen-> Android-> Cordova-Support-Google-Services-> myAppName-build.gradle bearbeitet
und geändert
maventCentral()
zu
Das hat den Kotlin-Fehler behoben, dann bekam ich einen anderen Fehler, den ich durch Ändern behoben habe
zu
Es wurde dann erfolgreich gebaut.
quelle
cordova plugin rm cordova-support-google-services --force && cordova plugin add cordova-support-google-services
Hier ist die Lösung.
Das Problem war genau das Maven-Repository ( hier ), aber das Problem war mit dem build.gradle aus dem Cordova-Support-Google-Services- Plugin, also habe ich die erforderliche Zeile hinzugefügt und jetzt ist alles in Ordnung. Ich habe bereits einen Pull erstellt Anfrage an das Original Repo ( hier ). Aber in der Zwischenzeit können Sie das tun, was ich getan habe. Ersetzen Sie einfach in der package.json die aktuelle Version durch mein Repo:
Vor:
Nach:
Danach müssen Sie:
npm install
Und das war's, jetzt können Sie Ihr Projekt erneut erstellen.
Ich verwende Ionic 4 und einige Plugins erfordern
cordova-support-google-services
, falls Sie es nicht in Ihrem package.json haben. Der Fehler könnte bei einem anderen Plugin liegen. Wenn ja, fügen Sie bitte die package.json hinzu, damit wir herausfinden können, welches das ist Problem.UPDATE 24 / OKT:
Ich habe die Lösung in meinem Repo geändert, wie viele von Ihnen vorgeschlagen haben. Jetzt besteht die Lösung nur noch darin, die Abhängigkeit zu beheben: von: com.android.tools.build:gradle:+ zu classpath com.android.tools.build:gradle: 3. + , das ist schon in meinem Repo, wenn du sehen willst, was sich geändert hat
quelle
in meinem Projekt behebe ich so (mein Projekt in Kotlin)
quelle
Lösung für ionisches v3 und Cordova
@ Herr Smith Lösung hat mein Problem gelöst
Sie müssen zur Datei gehen
dann
Ersetzen
classpath 'com.android.tools.build:gradle:+'
durch
@ Alternative Lösung, die ich gefunden habe, ist zu
quelle
Verwenden Sie als weitere vorübergehende Lösung für die Weiterverfolgung des Vorschlags von @MisterSmith einen Haken, um die Sperre erneut anzuwenden:
mit diesem übermäßig wortreichen Bash-Code:
quelle
app-build.gradle
zu%MY_APP_NAME%-build.gradle
. Vielen Dank!Ich musste
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
sowohl in die oberste Ebenebuild.gradle
als auch in dasapp
Modul hinzufügenbuild.gradle
. In beiden Fällen sowohl in diebuildscripts.repositories
als auch inallprojects.repositories
quelle
Keines der oben genannten hat bei mir funktioniert. Am Ende habe ich das Google-Services-Plugin entfernt und hinzugefügt.
cordova plugin rm cordova-support-google-services cordova plugin add cordova-support-google-services
quelle