Usando o novo estúdio android com o novo plug-in 3.0.0 Gradle.
Ao criar algum aviso, aconteceu:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
Usando o novo estúdio android com o novo plug-in 3.0.0 Gradle.
Ao criar algum aviso, aconteceu:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
Respostas:
Pelo que sei, os plug-ins adicionados como dependências do caminho de classe causam problemas. Ou seja, o Firebase teve um problema com isso. Colher e Flutter também. Fazer essa pesquisa no Google revela muitos repositórios do GitHub com um problema levantado sobre a mesma coisa, e tudo o que eles têm em comum é o fato de ser um plug-in Gradle. O tecido também parece ser uma causa, como mencionado pelo Mate *
Pelo que sei, o problema vem de um / vários plugins Gradle. Também pode ser acionado pelo seu código Gradle, mas isso provavelmente não é aplicável se o seu projeto for um aplicativo e não um plug-in Gradle.
E, como mencionado por Alex Cohn em um comentário, a depreciação é um aviso. Nesse caso, significa que é um recurso que será removido eventualmente. Portanto, por enquanto, supondo que seja um plug-in (e não feito por você), você pode ignorá-lo. No momento em que é removido, a maioria / todos os principais plugins devem ser atualizados para corrigi-lo.
E, novamente, é um aviso; não é um erro. Você ainda pode executá-lo e ignorá-lo se não houver nada a fazer sobre o problema. Desabilitar, por exemplo, o plug-in Fabric * é um exagero, pois ainda funciona.
Eu não uso o Fabric pessoalmente e o Fabric não é de código aberto; portanto, não sei se os desenvolvedores o corrigiram ou não.
TL; DR: os plugins Gradle são a causa. É um aviso (não um erro), portanto, remover os plug-ins que causam o problema é um exagero. Se você não conseguir consertá-lo, deixe-o em paz, desde que ele esteja obsoleto no momento (não removido)
Se você usa o Firebase, há uma solução específica que também é mencionada no guia de migração (vinculado posteriormente nesta postagem); excluir o módulo de goiaba
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
O problema em si é bastante difícil de detectar. Pelo que sei, não há um problema único que o cause em todos os plugins que verifiquei (e vinculei nesta resposta). Se você codificou algo que causa o problema (e é possível corrigi-lo; a adição de um plug-in gradle de terceiros não o causa), há algumas coisas que você pode tentar consertar.
Pelo que sei da causa real, ele é resolvido atualizando o arquivo Gradle (embora na biblioteca Spoon, foi corrigido alterando uma linha relacionada a TestVariant
) seguindo os tópicos no guia de migração do Gradle plugin 3.0.0.
A coisa toda é abordada pelos documentos do desenvolvedor , mas aqui estão algumas das coisas que considero relevantes com base nas solicitações de recebimento feitas em projetos em que houve um problema:
Além de atualizar a versão e o plugin Gradle, você também precisará adicionar o google()
repositório em repositories
.
compile
é agora implementation
ou api
, mas implementation
é o recomendado.
provided
é compileOnly
e apk
éruntimeOnly
androidTestCompile
tornou-se androidTestImplementation
, e testCompile
->testImplementation
Se você usar sabores, precisará usar dimensões de sabor (cobertas pelos documentos).
Para tipos de compilação, é necessário incluir fallbacks caso haja uma biblioteca que não possua esse tipo de compilação. Eles são definidos no profile
bloco abaixo do android
bloco.
Se ainda não o tiver feito, o plug-in gradle deve ser definido primeiro. Se você não tiver outras dependências do caminho de classe, não há problema. Mas se você fizer isso, verifique se o plug-in gradle está definido primeiro.
Se você usar testVariants
, não ligue testedVariant
para a turma. Parece ser a causa da biblioteca Spoon.
Essas são, pelo que pude dizer, algumas das mudanças que foram feitas para corrigir o problema.
Estou usando o plug com.google.gms:google-services
- in Gradle do Play Services com a versão 4.2.0
.
No código fonte, podemos ver que:
Então, para mim, esse foi o motivo dos meus avisos e não pode ser removido até que o plugin seja corrigido. A questão está aqui
Como mencionado pelo @Zoe, isso também pode vir de outros plugins Gradle.
Melhor
O problema foi resolvido com o plug-in de serviços do Google, versão 4.3.0 (resolvido com este commit )
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.0'
}
}
Encontrado aqui
A atualização para a versão mais recente do Fabric Gradle Plugin corrige esse problema.
No changelog:
No meu caso, isso foi causado pela versão incompatível das bibliotecas de suporte do Android. Atualizei todos os módulos para a versão mais recente (28.0.0) e isso foi resolvido.
Depois de instalar o Fabric corretamente, esse problema foi resolvido para mim
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
Eu recebi essa mensagem de erro e muitas outras pessoas como
x-version is deprecated and use y-version instead and it'll be removed in 2019
e todo o meu projeto começou a enviar as mesmas mensagens de erro repentinamente.
O estúdio Android estava dando avisos sobre o meu programa antivírus. Eu tentei configurá-lo, mas não funcionou.
Finalmente , desinstalei o antivírus QuickHeal do meu sistema e está tudo bem agora
Todas as outras respostas são sobre problemas com componentes de terceiros .
Veja como atualizar seu projeto que usa registerResGeneratingTask
diretamente:
Antes:
variant.registerResGeneratingTask generateIcon, ICON_DIR
Depois de:
variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)
Nível do Projeto Build.Gradle
Use a seguinte versão da dependência dos serviços do google.
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.3.0'
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
}
Problema resolvido para mim.
Para mim, esse aviso desapareceu quando eu desliguei o plugin de classificação de malha, o verifique se você usa a malha ou outro plugin responsável por esse aviso.
com.google.gms:google-services
4.0.1
e 4.0.2
ambos causam este aviso.