2014-10-16 23:34 GMT-03:00 Sergio Durigan Junior <[email protected]>: > > On Thursday, October 16 2014, Douglas Drumond wrote: > > > 2014-10-16 19:40 GMT-03:00 Sergio Durigan Junior <[email protected] >: > >> > >> 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
