1. Dependências não encontradas após sincronização
Após adicionar dependências no build.gradle, elas não aparecem na pasta library ou geram erro de dependência não encontrada.
Solução A - Dependências com arquivo JAR
Cole o arquivo JAR diretamente na pasta libs (crie se não existir). Clique com o botão direito no arquivo e selecione "Add as Library".
Solução B - Alterar repositório Maven
No build.gradle do projeto, adicione:
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/central' }
2. Erro de compilação AAPT2
A desativação do AAPT2 com android.enableAapt2=false não é mais suportada. A solução é ajustar as versões do SDK:
compileSdkVersion 30
buildToolsVersion "30.0.0"
targetSdkVersion 33
3. Aplicativo não lê certos tipos de arquivo
Para acesso a arquivos específicos como DSD, adicione no AndroidManifest.xml:
<application
android:requestLegacyExternalStorage="true">
...
</application>
4. Conflito entre Android Support e AndroidX
Erros de classes duplicadas entre android.support e androidx. Adicione ao gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
5. Erro R8 - Classes ausentes durante ofuscação
Adicione as regras do arquivo missing_rules.txt ao proguard-rules.pro:
# Conteúdo do arquivo missing_rules.txt
-keep class nome.da.classe. Ausente { *; }
6. Problemas com bibliotecas de terceiros
Erro de protocolo Retrofit/OkHttp
Atualize para versões compatíveis:
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
Erro Firebase Crashlytics
Desabilite upload de símbolos no build.gradle do app:
gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("uploadCrashlyticsMappingFile")) {
task.enabled = false
}
}
}
7. Dependências não resolvidas
Adicione repositórios alternativos:
allprojects {
repositories {
jcenter()
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
}
}
8. Recursos Gradle obsoletos
Atualize configuração do build.gradle:
allprojects {
buildscript {
repositories {
mavenCentral()
google()
}
}
repositories {
mavenCentral()
google()
}
}
9. Erro TransformTask
Use Gradle versão 7.x.x. No gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
10. Aviso de compatibilidade Android
Aumente minSdkVersion no build.gradle:
defaultConfig {
minSdkVersion 21
}
11. Protocolo inseguro em repositórios
Para Gradle 7+, use:
repositories {
maven {
allowInsecureProtocol true
url 'https://seu-repositorio-maven'
}
}
12. Erro Build Listener
Reduza versão do Gradle Plugin:
dependencies {
classpath 'com.android.tools.build:gradle:4.2.2'
}
13. Erro de certifiacção SSL
Use espelho de download alternativo:
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-6.6.1-bin.zip
14. Conflito de classes.dex
Ajuste configurações:
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
}
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
15. Erro lintVitalRelease
Desabilite verificação lint no release:
android {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
16. Erro TransformException
Atualize repositórios Maven:
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
17. Erro FragmentManager
Comente método onDetach() no Fragment:
@Override
public void onDetach() {
// super.onDetach();
}
18. NDK toolchain não encontrado
Use versão compatível do NDK nas configurações do projeto.
19. Erro de compilação JDK
Use JDK 11 ou superior. Configure em File > Project Structure > SDK Location.
20. Conflito de recursos XML
Verifique recursos duplicados em diferentes módulos ou biblioetcas.