tools - speed up gradle build in android studio
AVISO: a API 'variant.getJavaCompile()' está obsoleta e foi substituída por 'variant.getJavaCompileProvider()' (14)
De repente, quando Syncing Gradle, eu recebo este erro:
AVISO: a API 'variant.getJavaCompile ()' está obsoleta e foi substituída por 'variant.getJavaCompileProvider ()'. Ele será removido no final de 2019. Para obter mais informações, consulte https://d.android.com/r/tools/task-configuration-avoidance Módulos afetados: app
Eu tenho este
build.gradle
para o módulo de aplicativo:
WARNING: API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance
Affected Modules: app
Eu posso compilar corretamente o aplicativo, mas é um pouco chato, e a meu ver, algo vai parar de funcionar no final de 2019. Alguma idéia do que é e como resolvê-lo?
Migre seu projeto para androidX.
dependências são atualizadas para androidX. por isso, se você quiser usar o conteúdo do androidX, migre seu projeto para o androidX.
Com o Android Studio 3.2 e superior, você pode migrar rapidamente um projeto existente para usar o AndroidX selecionando Refatorar> Migrar para o AndroidX na barra de menus.
O downgrade de dependências pode resolver seu problema desta vez - mas não é recomendado
Altere sua versão do Google Services de seu
build.gradle
:
apply plugin: 'io.fabric'
Atualizando gradle para gradle: 3.3.0
A tarefa padrão 'montar' aplica-se apenas às variantes normais. Adicione variantes de teste também.
//apply plugin: 'io.fabric'
também comentar aplicar tecido
android.debug.obsoleteApi=true
Atualize o plug-in do fabric para o arquivo mais recente no nível do projeto Gradle (não no nível do aplicativo). No meu caso, esta linha resolveu o problema
classpath 'io.fabric.tools:gradle:1.29.0'
para
buildscript{
dependencies {
// From =>
classpath 'com.google.gms:google-services:4.3.0'
// To =>
classpath 'com.google.gms:google-services:4.2.0'
}
}
Esta é uma pergunta popular. Se você não usar esses métodos, a solução está atualizando as bibliotecas. Por favor, atualize sua versão kotlin e todas as suas dependências como fabric , protobuf etc. Se você tem certeza que atualizou tudo, tente perguntar ao autor da biblioteca.
Este é apenas um aviso e provavelmente será corrigido antes de 2019 com atualizações de plugins, então não se preocupe com isso. Eu recomendo que você use versões compatíveis de seus plugins e gradle.
Você pode verificar aqui a versão do seu plugin e a versão do gradle para obter melhor experiência e desempenho.
https://developer.android.com/studio/releases/gradle-plugin
Tente usar as versões estáveis para um código suave e sem erros.
Eu enfrento esse problema depois de atualizar para 3.3.0
Se você não está fazendo o que o erro indica no arquivo gradle, é algum plugin que ainda não atualizou para a API mais recente que causa isso. Para descobrir qual plug-in é, faça o seguinte (conforme explicado em "Informações aprimoradas de depuração ao usar API obsoleta" do anúncio 3.3.0 ):
- Adicione 'android.debug.obsoleteApi = true' ao seu arquivo gradle.properties, que registrará o erro com mais detalhes
- Tente novamente e leia os detalhes do registro. Haverá um rastro de plugin "problemático"
- Quando você se identifica, tente desativá-lo e ver se o problema desapareceu, só para ter certeza
- vá para a página do github do plugin e crie um problema que contenha um log detalhado e uma descrição clara, para que você ajude os desenvolvedores a corrigi-lo para todos mais rapidamente
- seja paciente enquanto eles consertam, ou você conserta e cria relações públicas para desenvolvedores
Espero que ajude os outros
Eu também enfrentei o mesmo problema.
Depois de pesquisar por um tempo, percebi que o aviso estava ocorrendo devido ao uso da versão mais recente do plug
google-services
in do
google-services
(versão 4.3.0).
Eu estava usando este plugin para funcionalidades do Firebase na minha aplicação.
Tudo o que fiz foi fazer o downgrade do meu plug
google-services
in
google-services
no buildscript no arquivo de nível build.gradle (Project) da seguinte forma:
gradlew sync -Pandroid.debug.obsoleteApi=true
No meu caso
ext.kotlin_version = '1.2.71'
estava
ext.kotlin_version = '1.3.0'
atualizado para
classpath 'io.fabric.tools:gradle:1.25.4'
parece problema passou por agora
No meu caso, foi causado por serviços gms 4.3.0. Então eu tive que mudar para:
buildscript {
// ... repositories, etc. ...
dependencies {
// ...other dependencies ...
classpath 'io.fabric.tools:gradle:1.30.0'
}
}
Eu encontrei isso executando:
com.google.gms:google-services:4.2.0
no terminal. Vá para exibir -> janelas de ferramentas -> Terminal no Android Studio.
O downgrade da versão do Gradle funcionou para mim:
build.gradle(Project)
Quando o plug-in detecta que você está usando uma API que não é mais suportada, agora ele pode fornecer informações mais detalhadas para ajudá-lo a determinar onde essa API está sendo usada. Para ver as informações adicionais, você precisa incluir o seguinte no arquivo gradle.properties do seu projeto:
classpath 'com.android.tools.build:gradle:3.2.0'
manter você Projeto (não app) Build.gradle dependncies código da versão do classpath é novo
buildscript{
dependencies {
// From =>
classpath 'com.google.gms:google-services:4.3.0'
// To =>
classpath 'com.google.gms:google-services:4.2.0'
// Add dependency
classpath 'io.fabric.tools:gradle:1.28.1'
}
}
se eu remover essa linha do
application gradle
do
application gradle
:
ext.kotlin_version = '1.3.1'
erro não aparecerá mais.