Verifique suas dependências para usos de +
nas versões. Alguma dependência pode estar usando com.android.support:appcompat-v7:+
. Isso leva a problemas quando uma nova versão é lançada e pode interromper recursos.
A solução para isso seria usar com.android.support:appcompat-v7:{compileSdkVersion}.+
ou não usar +
e usar a versão completa (ex. com.android.support:appcompat-v7:26.1.0
).
Se você não puder ver uma linha em seus arquivos build.gradle para isso, execute no terminal do Android Studio para dar uma visão geral do que cada dependência usa
gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath
(inclui dependências do androidtest)
OU
gradlew -q dependencies app:dependencies --configuration debugCompileClasspath
(dependências regulares para depuração)
o que resulta em algo parecido com isso
------------------------------------------------------------
Project :app
------------------------------------------------------------
debugCompileClasspath - Resolved configuration for compilation for variant: debug
...
+--- com.android.support:appcompat-v7:26.1.0
| +--- com.android.support:support-annotations:26.1.0
| +--- com.android.support:support-v4:26.1.0 (*)
| +--- com.android.support:support-vector-drawable:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | \--- com.android.support:support-compat:26.1.0 (*)
| \--- com.android.support:animated-vector-drawable:26.1.0
| +--- com.android.support:support-vector-drawable:26.1.0 (*)
| \--- com.android.support:support-core-ui:26.1.0 (*)
+--- com.android.support:design:26.1.0
| +--- com.android.support:support-v4:26.1.0 (*)
| +--- com.android.support:appcompat-v7:26.1.0 (*)
| +--- com.android.support:recyclerview-v7:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | +--- com.android.support:support-compat:26.1.0 (*)
| | \--- com.android.support:support-core-ui:26.1.0 (*)
| \--- com.android.support:transition:26.1.0
| +--- com.android.support:support-annotations:26.1.0
| \--- com.android.support:support-v4:26.1.0 (*)
+--- com.android.support.constraint:constraint-layout:1.0.2
| \--- com.android.support.constraint:constraint-layout-solver:1.0.2
(*) - dependencies omitted (listed previously)
Se você não tem controle sobre a alteração da versão, tente forçar o uso de uma versão específica.
configurations.all {
resolutionStrategy {
force "com.android.support:appcompat-v7:26.1.0"
force "com.android.support:support-v4:26.1.0"
}
}
A dependência da força pode precisar ser diferente, dependendo do que está sendo definido como 28.0.0
compileSdkVersion 27
ecompileSdkVersion 28
, mudandocompileSdkVersion
para28
, resolvi o problema.