Código-fonte do Android no Eclipse
Depois de um longo e tenebroso inverno sem postar nada por aqui, voltei. Se você quiser, pode saltar a seção abaixo e ir direto para o "Ao que interessa".
Motivação (ou "Eu e meu TOC")
Estou trabalhando em um projeto que integra um aplicativo Android com o ADK para o GTUG-BH. Mas, talvez por algum transtorno obsessivo compulsivo, eu tenho uma dificuldade enorme em codificar sem ter acesso ao código fonte da plataforma ou das bibliotecas que estou usando. Toda hora, instintivamente, eu aperto F3 (ou Ctrl+Click) em cima de uma classe, só para receber a desagradável mensagem de Source not Found, no caso do Android.
Como quem já brincou de Android SDK sabe bem, a plataforma de desenvolvimento não vem com o código-fonte desde a versão 1.6, se não me engano. Isso já foi comentado muitas vezes na comunidade e tem um bug aberto desde 2008. O bug foi recusado em 2009 com uma motivação até razoável: no caso de debugar para mais de uma versão do Android, o Eclipse não permite mudar o source usado pelo debugger sem reiniciar, e, mesmo que isso não fosse um problema, o source oficial não é garantido de corresponder ao do aparelho em que você está testando, porque a fabricante pode mudar partes do SDK.
Bem, mas, para mim, o importante em ter o código-fonte é ver parâmetros do método e resolver dúvidas sobre o método sem ter que mudar a tela para o browser com a documentação. Em geral, é mais rápido e mais confiável eu olhar o código e entender como ele usa internamente um parâmetro do que ler a documentação.
Entâo saí à procura de uma solução. O jeito mais "oficial" é baixar todo o fonte para cada versão do Android que você vai usar (uns 2GB para cada versão!) e depois juntar os *.java de cada subsistema em um diretório só. Então, procurando um pouco mais, achei um cara que fez um script Python que junta só o que é necessário em cada versão. E um outro que fez um script Bash para, dada uma tag de versão, baixar o repositório oficial e usar o script Python mencionado ali atrás, gerando um diretório só com o código-fonte da versão prontinho para ser importado pelo Eclipse.
Ao que interessa
Se você roda Linux ou Mac, baixe este script e execute-o em uma linha de comando. Ele é bem auto-explicativo e vai pedir qual a tag (versão do Android) que você quer gerar o pacote do source. Ele mesmo mostra a URL que lista todas as tags. Escolha uma delas, copie e cole. O resto é demorado mas quase automático (algumas outras perguntas, como o diretório onde vai ser gerado e configuração do Git se for a primeira vez que você o usa).
Você vai precisar de:
- Python
- Curl
- Git
- um terminal de comandos *nix (no Ubuntu, Applications->Accessories->Terminal)
- umas duas horas de banda larga para cada versão que você quiser o código-fonte.
Depois de rodar o script
