Guia completo do Chucker para Kotlin com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Chucker para Kotlin: guia completo com exemplos

1. O que é e para que serve

Chucker é uma biblioteca poderosa para depuração de requisições HTTP em aplicativos Android, escrita em Kotlin. Ela permite que desenvolvedores interceptem, registrem e inspecionem todo o tráfego de rede que passa pelo cliente OkHttp diretamente no dispositivo. Diferente do registro padrão no Logcat, o Chucker oferece uma interface gráfica intuitiva em uma tela separada (Activity), onde é possível visualizar cabeçalhos, corpos de requisições e respostas, códigos de status, tempo de execução e tamanho dos dados.

O principal objetivo do Chucker é simplificar o processo de depuração da comunicação de rede. Em vez de conectar o dispositivo ao computador e filtrar logs, o desenvolvedor pode abrir o aplicativo e ver imediatamente todas as transações HTTP. Isso é especialmente útil ao testar em dispositivos reais, quando o acesso ao ADB é limitado, ou ao trabalhar com equipes de QA, que podem fornecer capturas de tela de erros com informações detalhadas sobre a requisição.

O Chucker também oferece suporte a filtros por tipo de conteúdo (JSON, XML, imagens), busca por URL, visualização de erros e exceções, além de exportação de logs para arquivo. A biblioteca coleta automaticamente informações sobre erros de SSL, timeouts e outros problemas de rede, tornando-se uma ferramenta indispensável para qualquer desenvolvedor Android que trabalhe com APIs REST.

2. Instalação

O Chucker é distribuído via Maven Central. Para instalá-lo, é necessário adicionar as dependências no arquivo build.gradle.kts (ou build.gradle) do módulo do seu aplicativo.

Importante: A biblioteca não foi projetada para instalação via pip, npm ou cargo. Ela é uma biblioteca Android e é adicionada através do sistema de build Gradle.

Comando para adicionar no build.gradle.kts (Module: app):

// build.gradle.kts (Module: app)
dependencies {
    // Biblioteca principal do Chucker (apenas para builds debug)
    debugImplementation("com.github.chuckerteam.chucker:library:4.0.0")

    // Biblioteca No-Op (vazia) para builds release
    releaseImplementation("com.github.chuckerteam.chucker:library-no-op:4.0.0")
}

Para Groovy (build.gradle):

// build.gradle (Module: app)
dependencies {
    debugImplementation 'com.github.chuckerteam.chucker:library:4.0.0'
    releaseImplementation 'com.github.chuckerteam.chucker:library-no-op:4.0.0'
}

Explicação: O uso de debugImplementation garante que o Chucker estará disponível apenas em builds de depuração. Já o releaseImplementation com a versão library-no-op substitui todas as chamadas do Chucker por funções vazias, evitando vazamento de dados em produção e sem aumentar o tamanho do APK.

3. Início rápido — exemplo mínimo funcional

Após instalar a biblioteca, é necessário criar um OkHttpClient e adicionar o interceptador do Chucker a ele. Em seguida, esse cliente é usado para criar o Retrofit ou qualquer outro cliente HTTP.

// MainActivity.kt
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.chuckerteam.chucker.api.ChuckerCollector
import com.chuckerteam.chucker.api.ChuckerInterceptor
import okhttp3.OkHttpClient
import okhttp3.Request

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 1. Cria o coletor para armazenar os logs
        val collector = ChuckerCollector(this)

        // 2. Cria o interceptador
        val chuckerInterceptor = ChuckerInterceptor.Builder(this)                    

Recommendations