Estou usando o Android Studio 3.2 Beta5 para migrar meu projeto para o AndroidX . Quando reconstruo meu aplicativo, recebi os seguintes erros:
ERRO: [TAG] Falha ao resolver a variável '$ {animal.sniffer.version}'
ERRO: [TAG] Falha ao resolver a variável '$ {junit.version}'
A limpeza e reconstrução completa não funcionaram! Alguém sabe como consertar isso?
gradle.properties
android.enableJetifier=true
android.useAndroidX=true
build.gradle
buildscript {
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-beta05'
classpath 'com.google.gms:google-services:4.0.1'
classpath "io.realm:realm-gradle-plugin:5.3.1"
classpath 'io.fabric.tools:gradle:1.25.4'
classpath 'com.google.firebase:firebase-plugins:1.1.5'
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app / build.gradle
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'io.fabric'
apply plugin: 'com.google.firebase.firebase-perf'
android {
compileSdkVersion 28
buildToolsVersion "28.0.0"
defaultConfig {
applicationId "com.iceteaviet.fastfoodfinder"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
}
}
aaptOptions {
cruncherEnabled = false
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
implementation 'com.google.android.material:material:1.0.0-rc01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc01'
implementation 'androidx.cardview:cardview:1.0.0-rc01'
implementation 'com.google.maps.android:android-maps-utils:0.5'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.github.bumptech.glide:glide:4.7.1'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'io.realm:realm-android-library:5.3.1'
implementation 'com.facebook.android:facebook-android-sdk:4.34.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'io.reactivex.rxjava2:rxjava:2.0.2'
implementation 'androidx.multidex:multidex:2.0.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
implementation 'com.google.firebase:firebase-perf:16.0.0'
implementation 'com.jakewharton.timber:timber:4.7.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
}
apply plugin: 'com.google.gms.google-services'
Respostas:
Corrijo isso com duas etapas
1) Arquivo -> invalidar caches / reiniciar ...
2) Compilar -> Projeto limpo
fonte
Eu recebi o mesmo erro depois de atualizar meu arquivo build.gradle com dependências do AndroidX Test . Acontece que eu esqueci de remover a antiga dependência junit. Então, para mim, a correção foi simplesmente remover a seguinte dependência:
fonte
Adicionando suporte ao Java 8 ao problema corrigido do arquivo build.gradle para mim
fonte
Parece ser o problema da Glide .
Eu tive o mesmo erro e atualizei as dependências do Glide para 4.8 e não há erros de compilação.
Kotlin:
Java:
Certifique-se de ter ativado em seu gradle.properties:
Fonte: https://github.com/bumptech/glide/issues/3124
Espero que isso ajude você!
fonte
Corrigido, indo para o diretório principal e digitando
flutter clean
fonte
A remoção do testInstrumentationRunner funcionou para mim:
fonte
Se você estiver usando
Kotlin
, o problema será exibido se não usar akapt
versão para qualquer processador de anotação usado no projeto.Como o @Vince mencionou o caso
Glide
, isso pode acontecer comDagger2
,Butterknife
etc.Se você estiver usando os dois
Java
eKotlin
precisará manter as duas dependências, a seguir, (a seguir$glideVersion
é uma versão predefinidaGlide
):Se você estiver em um
Kotlin
único projeto, akapt
dependência deve funcionar sozinha.EDIT
Outra coisa que você deve ter em mente é se você já estiver usando
Androidx
.Androidx
é um ótimo refatorador, mas durante a migração pode causar o colapso de algumas de suas dependências. As bibliotecas convencionais já estão atualizadas paraAndroidx
, no entanto, algumas delas não são e nem serão.Se o problema não desaparecer com minha solução fornecida acima desta edição, você pode examinar suas dependências e garantir que elas
Androidx
também sejam usadas .EDIT 2
Como o @Ted mencionou, pesquisei de volta e ele tem razão
kapt
também lida comjava
arquivos.kapt
sozinho fará o truque, não há necessidade de manter os doiskapt
e asannotationProcessor
dependências.fonte
Tente remover esta linha:
na seção buildscript / repositories do seu arquivo build.gradle.
Quando adicionei essa linha, recebi o erro que você descreveu. Quando eu removi, não mais. Essa linha deve estar apenas na seção allprojects / repositories.
fonte
Tente definir android.enableJetifier = false em gradle.properties. Invalidar caches / reiniciar ... no Android Studio
fonte
A correção está na 4.2.0, use a versão superior do google gms jar.
Tente alterar:
por esta versão:
Espero que isso funcione ...
fonte
Se você estiver usando punhal ou faca de manteiga, atualize-o para a versão mais recente. Ou, se você tiver outra biblioteca de injeção usada em seu projeto, tente verificar se é compatível com androidx ou não.
Eu encontrei o mesmo erro, o problema está no meu punhal e faca de manteiga. Corrija-o atualizando-o para a versão mais recente.
fonte
Versão do Android: 4.10.2
Resolvi esse problema com três etapas simples: Primeiro, adicionei abaixo isso no pubspec.yml: (com dois espaços de identificação)
Adicionando essas duas linhas abaixo em gradle.properties, tenho isso em android / gradle.properties, na pasta do projeto.
E depois disso eu escrevi com o terminal:
Talvez você precise parar o dispositivo e executar novamente.
fonte
Corrigi isso atualizando as dependências do firebase para as mais recentes.
fonte
Corrigi-o atualizando o cahche (em vez de invalidá-lo - o que também limpa o histórico local):
É isso aí!
fonte
Vá para o arquivo e clique em Invalidar caches e reinicie.
Após a reinicialização, você aumenta a versão mínima do SDK no
build.gradle
arquivo do seu aplicativo .fonte