2014-10-16 23:34 GMT-03:00 Sergio Durigan Junior <
address@hidden>:
>
> On Thursday, October 16 2014, Douglas Drumond wrote:
>
> > 2014-10-16 19:40 GMT-03:00 Sergio Durigan Junior <
address@hidden>:
> >>
> >> Além disso, pensei em outras dificuldades. Como é que se testa isso? O
> >> SDK do Google pro Android não é livre, IIRC. Tem o do Replicant...
> >>
> >
> > Se você não usar as libs do Google (Google Play Services, Google Cloud
> > Message, etc), o SDK é livre (Apache, vem junto com o fonte do Android ao
> > baixar de
source.android.com).
>
> Hm, valeu pela explicação. Conhece o Replicant SDK? O que acha dele?
> Dá pra fazer o que a gente quer usando ele?
Nunca usei o Replicant, só sei que é uma versão totalmente livre do Android.
Provavelmente atende sim.
>
> >> Tem um jeito melhor de testar além de ficar instalando/desinstalando
> >> coisas no próprio celular?
> >
> > Emulador, mas eu acho que a imagem Intel não é livre (não tenho certeza),
> > vai ter que usar ARM e será lento p caramba. Melhor no celular mesmo.
>
> Certo. Seria só o caso de jogar o APK no celular e instalar, né?
Isso. Existem três modos: 1) copiar o APK p/ lá via USB ou qq outro modo,
abrir um gerenciador de arquivo, selecionar o APK e pedir p/ instalar;
2) pelo computador, na linha de comando, adb install -r /path/to/file.apk
3) numa IDE com plugin certo, mandar rodar. Por baixo, o que vai acontecer é esse passo 2.
O adb (Android Debug Bridge) é uma ferramenta que vem no SDK do Android, suponho que no Replicant também tenha.
Para o passo 1, precisa habilitar nas preferências do sistema "Instalar de fontes desconhecidas".
Para os passos 2 ou 3, precisa habilitar o modo desenvolvedor e ligar depuração USB. Se o modo desenvolvedor não aparecer nas preferências de sistema (fica escondido por padrão após a versão 4.0 do Android), ir no About e tocar no build number 7 ou 10 vezes (não lembro exatamente, mas depois de umas 4 vai aparecer uma mensagem “você está há x passos de se tornar um desenvolvedor” e decrementando).
>
> >>
> > E tem também a parte da geração do APK, que
> >> eu não sei como é feita...
> >
> > Resumindo: javac gera .class. dex pega os .class e gera os dex (bytecode da
> > Dalvik, VM do Android). aapt pega os dex + os resources (imagens, strings,
> > etc) e coloca no APK, que é um zip com uma certa organização interna.
> >
> > Isso aí é tudo Apache.
>
> Pode ser OpenJDK (pro javac)?
Antigamente não funcionava, mas aparentemente isso foi corrigido e pode ser o OpenJDK, não precisa ser o da Oracle.
> Esse dex já vem com o SDK?
Sim, fica dentro de <sdk-dir>/build-tools/<version>/ e eu me enganei no nome, não é dex o executável, é dx. DEX é o nome do formato gerado.
Normalmente, para compilar em linha de comando, o ant era usado e o SDK já configura as tasks para chamar todos esses passos que citei. Escrevi “era” pq atualmente o sistema de builds preferido é o gradle, mas é o mesmo princípio.
--
Douglas Drumond