Estou recebendo o seguinte erro de repente ao criar o aplicativo Ionic 3 para Android.
Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25
Temos uma solução do Android Studio aqui, mas depois que eu mudei no build.gradle com o código a seguir, ainda estou recebendo o erro.
buildscript {
repositories {
...
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
}
allprojects {
repositories {
...
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
}
Meu arquivo build.gradle se parece com este após atualizar meu Cordova e adicionar a solução acima.
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
}
Ainda é o mesmo erro.
android
cordova
ionic-framework
ionic3
build.gradle
Tapas Mukherjee
fonte
fonte
...
e excluiu os outros repositórios que já estavam lá?gradle:3.0.1
está localizado.Respostas:
O problema está no
cordova-support-google-services
plug - in do Cordova.build.gradle
Hoje, este plug-in está assim (24 de outubro de 2019):Mais exatamente, o problema está nesta dependência:
Essa é uma maneira extremamente frágil de especificar dependências. O sinal '+' aqui significa "buscar a versão mais recente disponível no repositório". Se uma versão mais recente for publicada no repositório e interromper a compilação, todos os usuários deste plugin terão seus projetos danificados. Isso aconteceu hoje. A versão quebrada que está sendo buscada é
com.android.tools.build:gradle:4.0.0
. Requer algumas coisas de Kotlin.É por isso que você sempre deve congelar dependências para criar seu projeto com segurança. Nunca confie nas coisas mais recentes. Essa dependência compila bem, como fez ontem:
Para aqueles que usam Cordova ou Ionic, é possível fazer uma correção rápida para poder construir o projeto congelando a dependência no arquivo:
Esta não é uma solução definitiva. Se você reinstalar a plataforma Android via Cordova, o erro será exibido novamente. O mantenedor do projeto deve congelar a dependência ou corrigi-la para dar suporte ao gradle 4.0.0. Enquanto isso, basta usar um fork fixo deste plugin.
fonte
EDIT 28/10/19:
O cordova-support-google-services foi atualizado hoje para a versão 1.3.2, que altera o caminho de classe de
classpath 'com.android.tools.build:gradle:+'
para
classpath 'com.android.tools.build:gradle:3.+'
que parece corrigir o erro do kotlin
Resposta original
Eu consegui criar o meu com êxito, fazendo o seguinte:
Eu editei plataformas-> android-> cordova-support-google-services-> myAppName-build.gradle
e mudou
maventCentral()
para
Isso resolveu o erro kotlin, então eu estava recebendo um erro diferente que resolvi alterando
para
Ele então foi construído com sucesso.
fonte
cordova plugin rm cordova-support-google-services --force && cordova plugin add cordova-support-google-services
Aqui está a solução.
O problema era exatamente o repositório maven ( aqui ), mas o problema era com o build.gradle do plug - in cordova-support-google-services , então adicionei a linha necessária e está tudo bem agora, já criei um pull solicitação ao repositório original ( aqui ). Mas, enquanto isso, você pode fazer o que eu fiz, basta substituir no package.json a versão atual pelo meu repo:
Antes:
Depois de:
depois disso você terá que:
npm install
e é isso, agora você pode construir seu projeto novamente.
Estou usando o Ionic 4, e alguns plugins exigem
cordova-support-google-services
, caso você não o tenha no seu package.json, o erro pode estar em outro plug-in; se houver, adicione o package.json para que possamos descobrir qual é o problema.ATUALIZAÇÃO 24 / OUT:
Alterei a solução no meu repositório, como muitos de vocês sugeriram, agora a solução consiste apenas em corrigir a dependência: de: com.android.tools.build:buildle :+ para classpath com.android.tools.build:gradle: 3. + , isso já está no meu repositório, se você quiser ver o que mudou
fonte
no meu projeto eu corrijo assim (meu projeto no kotlin)
fonte
Solução para ionic v3 e cordova
A solução @Mister Smith resolveu meu problema
você tem que ir para o arquivo
então
Substituir
classpath 'com.android.tools.build:gradle:+'
de
Solução alternativa que eu encontrei é
fonte
Como uma correção temporária adicional para acompanhar a sugestão do @MisterSmith, use um gancho para reaplicar a trava:
com este código bash excessivamente prolixo:
fonte
app-build.gradle
para%MY_APP_NAME%-build.gradle
. Obrigado!Eu tive que adicionar
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
ambos ao nível superiorbuild.gradle
e aoapp
módulobuild.gradle
. Em ambos os casos, tantobuildscripts.repositories
noallprojects.repositories
fonte
Nenhuma das opções acima funcionou para mim. Acabei removendo o plug-in do google-services e o adicionei.
cordova plugin rm cordova-support-google-services cordova plugin add cordova-support-google-services
fonte